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

Résultats séparés par des virgules en SQL

Utilisez FOR XML PATH('') - qui convertit les entrées en une chaîne séparée par des virgules et STUFF() -qui consiste à couper la première virgule- comme suit Ce qui vous donne le même résultat séparé par des virgules

SELECT  STUFF((SELECT  ',' + INSTITUTIONNAME
            FROM EDUCATION EE
            WHERE  EE.STUDENTNUMBER=E.STUDENTNUMBER
            ORDER BY sortOrder
            FOR XML PATH(''), TYPE).value('text()[1]','nvarchar(max)')
           , 1, LEN(','), '') AS listStr

FROM EDUCATION E
GROUP BY E.STUDENTNUMBER

Voici le VIOLEUR