舉例說明
一,網友需要如下的效果:

其實,這個需求依然可以我上篇的方法進行解答,但為了實現分組,需要distinct group1,同時,為了根據key1,key2,key3是否相同進行分組,所以要用where進行連接。
語法格式:select .....from t1 where key1=a.key1 and key2=a.key2... for xml path('')
二,進入正題,代碼如下:
select distinct group1,key1,key2,key3,
(select concat1+',' from concat where group1=a.group1 and key1=a.key1 and key2=a.key2 and key3=a.key3 for XML PATH('') ) as concat1,
(select concat2+',' from concat where group1=a.group1 and key1=a.key1 and key2=a.key2 and key3=a.key3 for XML PATH('') ) as concat2,
(select concat3+',' from concat where group1=a.group1 and key1=a.key1 and key2=a.key2 and key3=a.key3 for XML PATH('') ) as concat3
from concat a
三、效果如下:


