SQL 分组后拼接字符串

with t  as(
select 'Charles' parent, 'William' child union
select 'Charles', 'Harry' union
select 'Anne', 'Peter' union
select 'Anne', 'Zara' union
select 'Andrew', 'Beatrice' union
select 'Andrew', 'Eugenie' 
)

SELECT parent, 
STUFF(
     ( 
      SELECT ','+ child FROM t a WHERE b.parent = a.parent FOR XML PATH('')
     ),1 ,1, '') children 
FROM t b 
GROUP BY parent

原表:

Parent
Child
Charles William
Charles Harry
Anne Peter
Anne Zara
Andrew Beatrice
Andrew Eugenie

处理的结果: 

Parent
Children
Charles William,Harry
Anne Peter,Zara
Andrew Eugenie,Beatrice

原文地址:https://www.cnblogs.com/gguozhenqian/p/3797273.html