1

我的桌子是这样的:

id name 
1  jid1
1  jid2
2  jid1
2  jid3

如何获得匹配的 id 值,在上表中jid1,jid2具有相同的idjid1,jid3具有另一个相同的 id 值。

如何获得那些匹配的记录?我需要如何为此编写查询?

预期输出:

id name
1 jid1,jid2
2 jid1,jid3
4

1 回答 1

3

您可以使用FOR XML来执行此操作,如下所示:

SELECT 
  t1.Id,
  STUFF((
    SELECT ', ' + t2.name
    FROM Tablename t2
    WHERE t2.ID   = t1.ID
    FOR XML PATH (''))
  ,1,2,'') AS Name
FROM Tablename t1
GROUP BY t1.Id;
于 2013-10-01T11:17:10.507 回答