小编Cod*_*ior的帖子

使用FOR XML进行行连接,但是有多列?

我经常使用如下查询:

SELECT *
FROM   ThisTable
       OUTER APPLY (SELECT (SELECT SomeField + ' ' AS [data()]
                            FROM   SomeTable
                            WHERE  SomeTable.ID = ThisTable.ID
                            FOR XML PATH ('')) AS ConcatenatedSomeField) A 
Run Code Online (Sandbox Code Playgroud)

我经常希望从这个表中获得多个连接的连接字段,而不是只有一个.我可以逻辑地这样做:

SELECT *
FROM   ThisTable
       OUTER APPLY (SELECT (SELECT SomeField + ' ' AS [data()]
                            FROM   SomeTable
                            WHERE  SomeTable.ID = ThisTable.ID
                            FOR XML PATH ('')) AS ConcatenatedSomeField) A
       OUTER APPLY (SELECT (SELECT SomeField2 + ' ' AS [data()]
                            FROM   SomeTable
                            WHERE  SomeTable.ID = ThisTable.ID
                            FOR XML PATH ('')) AS ConcatenatedSomeField2) B
       OUTER …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server-2008

7
推荐指数
1
解决办法
8831
查看次数

标签 统计

sql-server-2008 ×1

t-sql ×1