我正在使用SQL Server 2008.我有一个如下表:
ID Name
1 a
1 b
2 c
3 d
我想要输出如下:
ID Name
1 a,b
2 c
3 d
答案 0 :(得分:1)
SELECT DISTINCT
ID,
Names = REPLACE(STUFF(
(
SELECT ',' + Name AS [data()]
FROM dbo.Table AS x
WHERE x.ID = t.ID
ORDER BY Name
FOR XML PATH ('')
), 1, 1, ''), ' ,', ',')
FROM dbo.Table AS t
ORDER BY ID;
答案 1 :(得分:1)
select id, (select itbl.name+','
from tblname itbl
where itbl.id=tbl.id
for xml path('')) name
from tblname tbl
group by id