这是我的表:
CODE __NAME
1000 ___AB
1001 ___CA
1001 ___DR
1001 ___LVN
1100 ___ER
1110 ___WL
我想要的是:
CODE___NAME
1000 ___AB
1001 ___CA,DR,LVN
1100 ___ER
1110 ___WL
我知道我可以使用循环来完成此操作,但我想知道是否有更好的方法。感谢
答案 0 :(得分:2)
尝试这样的事情,这样可以得到你想要的东西。
Select
Main.CODE,
Left(Main.Names,Len(Main.Names)-1) As Names
From
(
Select distinct T2.CODE,
(
Select
RTRIM(T1.NAME) + ', ' AS [text()]
From
Test T1
Where
T1.CODE = T2.CODE
ORDER BY
T1.CODE
For XML PATH ('')
) [Names]
From Test T2
) [Main]