SQL 怎么合并一列,另一列不重复的值连成字符串

新手上路,请多包涵

一个表cuslist,有两列customer和manager,想把第一列合并,但是要把第二列不重复的值通过字符串加起来

customermanager
IBM张三
IBM李四
IBM王五
IBM王五
Microsoft赵六
Microsoft孙七
Microsoft孙七
Apple朱八

请问怎么实现可以达到以下这种效果

customermanager
IBM张三,李四,王五
Microsoft赵六,孙七
Apple朱八

求大佬们帮忙解答一下,不胜感激

阅读 3.7k
2 个回答
SELECT

    customer,
    GROUP_CONCAT(DISTINCT  manager) 
FROM
    cuslist
GROUP BY
customer

image.png
image.png

SELECT
DISTINCT(customer)
,STUFF((

 SELECT ','+T.manager
 FROM (SELECT customer,manager FROM cuslist GROUP BY customer,manager) AS T
 WHERE T.customer=A.customer
 FOR XML PATH('')),1,1,'')AS manager 

FROM cuslist as A

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进