在sql-server中的连接查询中使用已转换的列名

时间:2016-10-10 13:23:32

标签: sql sql-server

假设我有一个类似的查询来转换xml查询

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

如何在LEFT JOIN

中使用xml查询的结果
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

1 个答案:

答案 0 :(得分:2)

将原始查询设为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