SQL Server 语法 (如果要合并的数据是字符串类型的,这里是不需要做CONVERT(varchra,Course))类型转换的
SELECT Name , STUFF((SELECT distinct ',' + CONVERT(varchar,Course) FROM T_StudentCourse B
WHERE B.Name = A.Name FOR XML PATH('')),1, 1, '') AS Course
FROM T_StudentCourse A
GROUP BY Name
My Sql 语法
SELECT Name , GROUP_CONCAT(distinct convert(Course, CHAR) SEPARATOR ',') AS Course
FROM T_StudentCourse A
GROUP BY A.Name
需注意:
1.GROUP_CONCAT()中的值为你要合并的数据的字段名;
SEPARATOR 函数是用来分隔这些要合并的数据的;
' '中是你要用哪个符号来分隔;
distinct 关键字是将合并后分割重复的数据进行合并
2.必须要用GROUP BY 语句来进行分组管理,不然所有的数据都会被合并成一条记录
行合并前的数据
行合并后的效果(合并的Course)