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

小億
459
2024-01-25 10:39:25
欄目: 云計(jì)算

在SQL Server中,可以使用FOR XML PATH子句來將多行合并為一行多列。下面是一個(gè)示例:

假設(shè)有一個(gè)名為Employees的表,其中包含以下數(shù)據(jù):

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

可以使用以下查詢將上述數(shù)據(jù)合并為一行多列的結(jié)果:

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

結(jié)果如下:

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

在上面的查詢中,子查詢使用FOR XML PATH(‘’)將每個(gè)Name值轉(zhuǎn)換為一個(gè)帶有逗號(hào)分隔的字符串。然后,使用STUFF函數(shù)將第一個(gè)逗號(hào)替換為空字符串,從而得到最終的合并后的結(jié)果。

0