Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server :unisci e aggiungi colonne

A differenza di MySQL , SQL Server non ha una funzione integrata per farlo. Ma puoi ancora simularlo usando CROSS APPLY e FOR XML PATH('')

SELECT  a.ID, 
        SUBSTRING(d.NameList,1, LEN(d.NameList) - 1) Names
FROM    a
        CROSS APPLY
        (
            SELECT DISTINCT [NAME] + '; ' 
            FROM  B 
            WHERE A.ID = B.DupID 
            FOR XML PATH('')
        ) D (NameList) 

Demo SQLFiddle