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

Tabela PIVOT para dados da conta com colunas para cada mês


Seu caso é certamente um candidato para usar a sintaxe da tabela PIVOT. O abaixo é uma consulta simples que faz pivô.
SELECT Department_number
,[January]
,[February]
,[March]
FROM (
SELECT Department_number, Amount, datename(date_created) AS month_created from <Your_Table>
) AS SOURCETABLE
PIVOT(SUM([Amount]) FOR month_created IN ([January],[February],[March])) AS PIVOTTABLE

Esta consulta pressupõe que você tenha a coluna date_created contendo valores Jan, Feb, March em sua tabela. Você pode adicionar mais meses se precisar.

Mais sobre o assunto - http://technet .microsoft.com/en-us/library/ms177410(v=sql.105).aspx