Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Raggruppare e sommare i dati delle righe in colonne in MS-SQL?

Puoi anche fare il pivot in questo modo:

select workweek,
       sum(case when Catg = 'Cat1' then cost end) as Cat1TotalCost,
       sum(case when Catg = 'Cat2' then cost end) as Cat2TotalCost,
       sum(case when Catg = 'Cat3' then cost end) as Cat3TotalCost
from DataTable
group by Workweek

Non dovresti eseguire una sottoquery separata per ogni valore.

Il pivot dichiarazione è anche un'alternativa molto ragionevole. Tendo a rimanere con la versione esplicita (sopra), perché mi dà più flessibilità nell'aggiunta di colonne.