SSMS
 sql >> Datenbank >  >> Database Tools >> SSMS

SQL Gruppieren von Kontonummern und Abrufen von Zwischensummen und Gesamtsummen

Sie haben mehr Kontrolle mit Gruppierungssätzen:

SELECT ACTNO, grp, SUM(PLAN), SUM(FORECAST)
FROM (SELECT cc.*,
             (CASE WHEN ACTNO IN ('100', '101') THEN 1
                   WHEN ACTNO IN ('200', '201', '202', '203') THEN 2
                   WHEN ACTNO IN ('220', '300', '301') THEN 3
              END) as grp
      FROM COST_CENTER cc
     ) cc
GROUP BY GROUPING SETS ( (ACTNO, grp), (grp), ());

Sie können wahrscheinlich grp entfernen aus dem SELECT . . . Ich habe noch nie GROUPING SETS verwendet allerdings ohne die Spalte einzubeziehen.