如何基于值连接重复值

时间:2016-05-23 13:00:31

标签: mysql sql

我有一个场景,在我的表中有很多重复值。让我们说吧。

SID|LOTID|TEST
1    45    A
1    45    B
1    45    C

我想要一个mysql查询,它可以为我提供这样的输出。

SID|LOTID|TEST
1    45    A,B,C

1 个答案:

答案 0 :(得分:0)

请尝试以下代码。这适用于SQL Server 2012

DECLARE @Table TABLE (SID int, LOTID int, TEST CHAR(2))
INSERT INTO @Table
(SID,LOTID,TEST)
VALUES

(1,45,'A'),
(1,45,'B'),
(1,45,'C') 

SELECT SID,LOTID, TEST = 
    STUFF((SELECT ', ' + TEST
           FROM @Table b 
           WHERE b.SID = a.SID 
          FOR XML PATH('')), 1, 2, '')
FROM @Table a
GROUP BY SID,LOTID