34,696
社区成员
发帖
与我相关
我的任务
分享
我的版本是2014
原始数据如下:
ID val
1 A
1 B
2 C
2 D
2 f
查询返回结果:
1 a,b
2 c,d,f
--sql2017开始有函数string_agg,2014的话,可以用这个for xml path
CREATE table #T
(
ID INT,
val VARCHAR(100)
)
INSERT INTO #T VALUES(1 ,'A')
INSERT INTO #T VALUES(1 ,'B')
INSERT INTO #T VALUES(2 ,'C')
INSERT INTO #T VALUES(2 ,'D')
INSERT INTO #T VALUES(2 ,'f')
SELECT id,STUFF((SELECT ','+val FROM #T WHERE id=a.id FOR XML PATH('')),1,1,'') AS val
FROM #T a
GROUP BY id