使用FOR XML进行行连接时,如果需要连接多列,可以使用以下方法:
例如,假设有两个表:Table1和Table2,它们具有以下列:
Table1:
ID | Name |
---|---|
1 | John |
2 | Mary |
Table2:
ID | Age | Gender |
---|---|---|
1 | 30 | Male |
2 | 25 | Female |
要将这两个表连接并返回多列,可以使用以下查询:
SELECT
t1.ID,
(SELECT t1.Name + ',' + CAST(t2.Age AS VARCHAR) + ',' + t2.Gender FOR XML PATH('')) AS CombinedColumns
FROM
Table1 t1
INNER JOIN Table2 t2 ON t1.ID = t2.ID
这将返回以下结果:
ID | CombinedColumns |
---|---|
1 | John,30,Male |
2 | Mary,25,Female |
例如,假设有两个表:Table1和Table2,它们具有以下列:
Table1:
ID | Name |
---|---|
1 | John |
2 | Mary |
Table2:
ID | Age | Gender |
---|---|---|
1 | 30 | Male |
2 | 25 | Female |
要将这两个表连接并返回多列,可以使用以下查询:
SELECT
t1.ID,
STUFF(
(SELECT ',' + t1.Name + ',' + CAST(t2.Age AS VARCHAR) + ',' + t2.Gender FROM Table2 t2 WHERE t1.ID = t2.ID FOR XML PATH('')),
1, 1, ''
) AS CombinedColumns
FROM
Table1 t1
这将返回以下结果:
ID | CombinedColumns |
---|---|
1 | John,30,Male |
2 | Mary,25,Female |
这些方法可以帮助您使用FOR XML进行多列连接。
领取专属 10元无门槛券
手把手带您无忧上云