如何在sql server中使用group_concat进行查询?


原文:https://cloud.tencent.com/developer/ask/57675

我知道在SQL服务器我们不能使用Group_concat函数,但这里有一个问题,我有我需要Group_Concat我的查询。我谷歌它发现了一些逻辑,但无法纠正它。我的SQL查询是:

SELECT
*
INTO #temp_1
FROM(
SELECT 1 id, '李四' neme UNION ALL
SELECT 2 id, '张三' neme
) AS a


SELECT
*
INTO #temp_2
FROM(
	SELECT 1 id, '数据' 学科,95 分数 UNION ALL
	SELECT 1 id, '语文' 学科,80 分数 UNION ALL
	SELECT 1 id, '英语' 学科,80 分数 UNION ALL
	SELECT 2 id, '数据' 学科,95 分数 UNION ALL
	SELECT 2 id, '语文' 学科,80 分数
) AS a


SELECT * FROM #temp_1
SELECT * FROM #temp_2


SELECT
     a.id,
	 a.neme,
	 SUM(b.分数) 总分,
	 STUFF((
          SELECT ',' + T.学科
          FROM #temp_2 T
          WHERE A.id=T.id
          FOR XML PATH('')), 1, 1, '') as 学科,
	 STUFF((
          SELECT ',' + CAST(T.分数 AS VARCHAR(5))
          FROM #temp_2 T
          WHERE A.id=T.id
          FOR XML PATH('')), 1, 1, '') as 分数

FROM #temp_1 A
JOIN #temp_2 B ON B.id = A.id
GROUP BY  A.id, A.neme

 




评论

支持上传图片(拖动图片或者截图粘贴)

0 评论