Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Agrupar e somar dados de linha em colunas no MS-SQL?


Você também pode fazer o pivô assim:
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

Você não deve fazer uma subconsulta separada para cada valor.

O pivot declaração também é uma alternativa muito razoável. Eu costumo ficar com a versão explícita (acima), porque me dá mais flexibilidade na adição de colunas.