Publicidade

PIVOT no SQL Server

2/27/2013 02:21:00 PM Rafael Rodrigues 0 Comments



Neste post estarei mostrando como é simples realizar uma consulta para gerar um resultado que seria como uma tabela de referência cruzada (pivot table, transposição de tabela, tabela dinâmica, etc) no SQL Server.

Vamos dividir o post em duas partes, nesta vamos fazer algo simples e no próximo post faremos algo mais avançado.

Uma referência cruzada ou Pivot Table é necessária quando queremos efetuar uma transposição nos dados, realizando algum cálculo (ou não).

Imagine o seguinte: Temos uma tabela com todas as vendas por marca e por cidade e desejamos exibir os resultados colocando as marcas como linhas e as cidades como colunas, assim cada marca terá somente uma linha na consulta final. Assim deixamos o resultado mais resumido e de fácil visualização.

A tabela

Nossa tabela VENDAS tem o layout assim:


Como citei anteriormente queremos visualizar as cidades como colunas e o layout final ficará assim:


Pra fazer isso é muito, muito simples, abra a query no SQL Server e siga o mesmo caminho abaixo:



Análise

1 – Observe que fiz uma subquery e dei o nome de PT, podíamos ter adicionado até uma função agregada. O importante é esta query ter todas as colunas que precisamos.

2 – Depois foi só utilizar o PIVOT para agregar os dados e colocar as linhas como colunas.

É SÓ ISSO!!!

Basta adaptar pra sua necessidade.



Fonte: http://debulhado.wordpress.com/2012/07/29/pivot-no-sql-server-parte-i/




0 comentários: