表名:PrescriptionSystemClass
表结构:有两个字段,classId和typeId
查询出来数据:
classId typeId
1 1
1 4
1 6
2 3
2 1
3 5
3 10
3 8
如何实现按照classId分组查询,让typeId显示成为一行,中间用符号分开?
效果如下:
classId typeId
1 1,4,6
2 1,3
3 5,8,10
SELECT classId ,
STUFF(( SELECT ',' + CONVERT(VARCHAR(20), typeId)
FROM PrescriptionSystemClass
WHERE classId = t.classId
FOR
XML PATH('')
), 1, 1, '')
FROM PrescriptionSystemClass t
GROUP BY classId