我有一个sql Server表,其中包含以下字段和示例数据:
ID employeename 1 Jane 2 Peter 3 David 4 Jane 5 Peter 6 Jane
ID列具有每行的唯一值.
employeename专栏有重复.
我希望能够根据employeename列找到重复项,并列出以逗号分隔的副本旁边的ID.
上述样本数据的预期输出:
employeename IDs Jane 1,4,6 Peter 2,5
表中还有其他列,我不想为此查询考虑.
感谢你的帮助!
解决方法
select employeename,IDs = STUFF((SELECT ','+ CAST(e2.[ID] AS VARCHAR(10)) FROM emp e2 WHERE e2.employeename = e1.employeename For XML PATH('') ),1,'') FROM emp e1 GROUP BY employeename having COUNT(*) > 1