sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server:unir y agregar columnas

A diferencia de MySQL , SQL Server no tiene una función incorporada para hacer eso. Pero aún puede simularlo usando CROSS APPLY y 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) 

Demostración de SQLFiddle