温馨提示×

sqlserver多行怎么合并成一行多列

小亿
133
2024-01-25 10:39:25
栏目: 云计算

在SQL Server中,可以使用FOR XML PATH子句来将多行合并为一行多列。下面是一个示例:

假设有一个名为Employees的表,其中包含以下数据:

ID    Name       Department
--------------------------
1     John       IT
2     Mary       HR
3     David      Finance

可以使用以下查询将上述数据合并为一行多列的结果:

SELECT STUFF((SELECT ',' + Name
              FROM Employees
              FOR XML PATH('')), 1, 1, '') AS Names

结果如下:

Names
-----------------
John,Mary,David

在上面的查询中,子查询使用FOR XML PATH(‘’)将每个Name值转换为一个带有逗号分隔的字符串。然后,使用STUFF函数将第一个逗号替换为空字符串,从而得到最终的合并后的结果。

0