动态sql ,表如下,sp 内容多样,有可能多达几十个
name sp
1 a
1 b
2 a
2 c
期望结果
name sp_name
1 a,b
2 a,c
select A.ID, STUFF((select ','+ SP from [Test1] where ID=A.ID for xml path('')),1,1,'') AS SP_NAME
from [dbo].[Test1] A GROUP BY A.ID
看起来没有什么规律啊
SELECT name, group_concat(sp) as 'sp_name' FROM test GROUP BY name
stuff for xml path 可以合并列,具体用法,自己搜索一下可以看到
mysql可以用下面的sql查询
SELECT name,group_concat(distinct sp) as sp_name FROM test GROUP BY name
WITH T1 AS (SELECT 1 ID ,'A' NAME UNION ALL
SELECT 1 ID ,'B' NAME UNION ALL
SELECT 2 ID ,'A' NAME UNION ALL
SELECT 2 ID ,'C' NAME )
SELECT ID,GROUP_CONCAT(NAME)
FROM T1
GROUP BY ID