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

Liste séparée par des virgules des lignes d'une colonne avec groupe par sur d'autres colonnes

Si vous pouvez publier la requête, la table dérivée produit, nous pouvons vous aider à la résoudre , mais pour le moment, essayez de remplacer table1 avec la requête dérivée.

;WITH Table1
AS
(
    SELECT C1, C2, C3  FROM T1 WHERE C1 IS NOT NULL--and a lot of calculation also
)
SELECT
     C1,C2,
     STUFF(
         (SELECT ',' + C3
          FROM Table1
          WHERE C1 = a.C1 AND C2 = a.C2
          FOR XML PATH (''))
          , 1, 1, '')  AS NamesList
FROM Table1 AS a
GROUP BY C1,C2