原始SQL:
SELECT --*
t.id,t.names,t.isEditAll,t.isFenzhen,t.isDel,t.addTime
,t2.userName
from Assign T
LEFT JOIN StaffAssign t1 ON t1.assignID=t.id
LEFT JOIN Staff t2 ON t2.id=t1.staffID
原始SQL结果:
现需要把name列相同的行里的username列合并,
合并后SQL:
SELECT --*
t.id,t.names,t.isEditAll,t.isFenzhen,t.isDel,t.addTime
--,t2.userName
,STUFF(
(
SELECT ',' + t02.userName
FROM Assign T0 LEFT JOIN StaffAssign t01 ON t01.assignID=t0.id LEFT JOIN Staff t02 ON t02.id=t01.staffID
WHERE t0.id = T.id
FOR XML PATH('')
), 1, 1, ''
) as group_concat
from Assign T
LEFT JOIN StaffAssign t1 ON t1.assignID=t.id
LEFT JOIN Staff t2 ON t2.id=t1.staffID
GROUP BY t.id,t.names,t.isEditAll,t.isFenzhen,t.isDel,t.addTime
合并后SQL结果: