2017-09-28 82 views
1

样本数据:TO逗号分隔符创建多行

表A

BillID ID_B 
    -------------- 
    122  1 
    122  2 

表B

ID_B  Name   
    ------------------ 
    1  Jakarta    
    2  Malang 
    3  Wonosobo 

预期结果:

BillID  Name 
------   ----------------- 
    122   Jakarta, Malang 

TableA.ID_B = TableB.ID_B

回答

1
SELECT BillID,STUFF((SELECT ',' + Name 
FROM TABLEB AS T2 
WHERE T2.ID_B = T1.ID_B 
FOR XML PATH('')),1,1) AS Name FROM TABLEA AS T1 

希望这有助于!

1
SELECT STUFF((
    SELECT 
     ',' + [Name] 
    FROM 
     B AS B 
    WHERE 
     B.ID_B IN (SELECT ID_B FROM A) 
    FOR XML PATH('')), 1, 1, '') AS [Name]