Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Durch Kommas getrennte Liste von Zeilen einer Spalte mit Gruppierung nach in anderen Spalten

Wenn Sie die Abfrage posten können, die die abgeleitete Tabelle erzeugt, können wir Ihnen bei der Ausarbeitung helfen , aber versuchen Sie im Moment, table1 zu ersetzen mit der abgeleiteten Abfrage.

;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