2016-10-10 1 views
1

Abfrage mitmachen Sagen, ich habe eine Abfrage wie das wirft eine XML-AbfrageVerwenden Sie einen gegossenen Spaltennamen in einer SQL-Server

SELECT TOP 5 
    CAST (row.query('col(/xml/tag)'), as NVARCHAR(100)) AS 'foobar' 
FROM db.table 

Wie kann ich das gegossene Ergebnis der XML-Abfrage in einem LEFT JOIN verwenden?

SELECT TOP 5 
    CAST (row.query('col(/xml/tag)'), as NVARCHAR(100)) AS 'foobar' 
FROM db.table 
LEFT JOIN db.table_table 
-- don't know the syntax for this part 
ON db.table['foobar'] = db.table_table.col 
+0

Dies muss [Dynamische SQL] (https://msdn.microsoft.com/en-us/library/ms188001.aspx) – JohnHC

+0

@JohnHC Dank für die Docs, schätzen Sie es –

Antwort

2

Sprechen Sie die ursprüngliche Abfrage als sub-select

SELECT foobar 
FROM (SELECT TOP 5 Cast (row.query('col(/xml/tag)') AS NVARCHAR(100)) AS foobar 
     FROM db.TABLE) t 
     LEFT JOIN db.table_table 
       ON t.foobar = db.table_table.col 
Verwandte Themen