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

SQL Server 2008 - Cadena de concatenación

Si desea concatenar valores entre filas, use el truco FOR XML, por ejemplo:

SELECT Name + ',' 
FROM Project
FOR XML PATH('') 

Aquí hay un ejemplo más completo:

select LineItemID, (
        Select m.Material + ','
        From test.Materials m 
        inner join test.LineItems_Materials lm1 on m.MaterialID = lm1.MaterialID 
        Where m.MaterialID in (select MaterialID from test.LineItems_Materials where LineItemID = lm2.LineItemID)
        FOR XML PATH('')  
    ) as Materials
from test.LineItems_Materials lm2
group by LineItemID