经过这么少的加入我的视图就像这样
ID Code
1 US
1 UK
1 GR
2 US
2 IN
3 US
3 AF
3 RU
3 SA
必填结果:
ID Code
1 US,UK,GR
2 US,IN
3 US,AF,RU,SA
我尝试使用FOR XML PATH。
但由于我的表中记录数量很多,导致性能问题,执行时间超过20分钟
答案 0 :(得分:0)
检查下面的链接,在这里您可以找到满足您要求的不同示例:
答案 1 :(得分:0)
您可以使用以下查询
Select T.Id,
Left(T.[Codes],Len(T.[Codes])-1) As Codes
From
(
Select distinct T2.ID,
(
Select T1.Code + ',' AS [text()]
From @T T1
Where T1.ID = T2.ID
ORDER BY T1.ID
For XML PATH ('')
) [Codes]
From @T T2
) T
@T
是您的输入表格,如Declare @T as Table (ID INT, Code varchar(10))