2016-05-23 61 views
0

我有一个场景,在我的表中有很多重复的值。让我们说。如何连接基于值的重复值

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

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

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

回答

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