Autor YouCode - http://www.youcode.com.ar/sql/mssql-concatenar-varios-registros-en-un-campo-454
Concatenar resultados como GROUP_CONCAT de MySql
Concatener en un campo una serie de resultados.En el ejemplo, estamos concatenando el campo MASKDETAIL separado por ','
Select A.maskid , A.maskname , A.schoolid , B.schoolname , CAST(( SELECT T.maskdetail+',' FROM dbo.maskdetails T WHERE A.maskid = T.maskid FOR XML PATH(''))as varchar(max)) as maskdetail FROM dbo.tblmask A JOIN dbo.school B ON B.ID = A.schoolid
http://www.youcode.com.ar/sql/mssql-concatenar-varios-registros-en-un-campo-454