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

你可能感兴趣的:(sql)