求sql语句,求大人们赐教。

姓名 部门 题目ID 题目答案
A 编辑部 1 tt
A 编辑部 2 yy
A 编辑部 3 hh
A 编辑部 1 gg
B 测试部 1 tt
B 测试部 3 cc

我想要这样的结果
姓名 部门 第一题 第二题 第三题 ...等
A 编辑部 tt,gg yy hh
B 测试部 tt NULL CC

因为有多选题,所以需要用到累加答案,以逗号隔开。求大神赐教!题目的ID是不确定的哦。

SELECT distinct 姓名 ,部门 ,LEFT(UserList,LEN(UserList)-1) as list FROM (
SELECT 姓名 ,部门 ,
(SELECT 题目答案+',' FROM ZN_Area_City WHERE 题目ID =A.题目ID FOR XML PATH('')) AS UserList
FROM table A
GROUP BY 题目答案, 题目ID
)temp

不知道你的数据库!但觉得你需要的要求有点类似 列转行。可以搜索下