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

Requête SQL pour obtenir un résultat agrégé dans des séparateurs de virgule avec groupe par colonne dans SQL Server

Vous souhaitez utiliser FOR XML PATH construire :

select 
    ID, 
    stuff((select ', ' + Value 
           from YourTable t2 where t1.ID = t2.ID 
           for xml path('')),
          1,2,'') [Values]
from YourTable t1
group by ID

Les STUFF la fonction est de se débarrasser du premier ', ' .

Vous pouvez également voir d'autres exemples ici :

  • La même unité SQL entre deux tables nécessite des numéros de commande dans 1 cellule
  • Les tables de jointure gauche SQL et Coldfusion obtiennent des résultats en double sous forme de liste dans une colonne