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

Ligne SQL séparée par des virgules avec la clause Group By

Vous souhaitez utiliser FOR XML PATH construire :

SELECT ACCOUNT, 
       unit, 
       SUM(state_fee), 
       Stuff((SELECT ', ' + code 
              FROM   tblmta t2 
              WHERE  t2.ACCOUNT = t1.ACCOUNT 
                     AND t2.unit = t1.unit 
                     AND t2.id = '123' 
              FOR XML PATH('')), 1, 2, '') [Codes] 
FROM   tblmta t1 
WHERE  t1.id = '123' 
GROUP  BY ACCOUNT, 
          unit 

Voir d'autres exemples ici :

  • La même unité SQL entre deux tables nécessite des numéros de commande dans 1 cellule
  • Requête SQL pour obtenir un résultat agrégé dans des séparateurs de virgule avec groupe par colonne dans SQL Server