Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server :joindre et ajouter des colonnes

Contrairement à MySQL , SQL Server n'a pas de fonction intégrée pour le faire. Mais vous pouvez toujours le simuler en utilisant CROSS APPLY et 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) 

Démo SQLFiddle