top of page

Oracle: Pivot Table

Problemas: Criar um resultado com Pivot Table em um simples select no Oracle.


Até a versão 10g era difícil montar este cenário caso não se soubesse de antemão os valores que resultariam nas colunas. À partir da versão 11g a situação ficou fácil com o uso da cláusula PIVOT.


No exemplo, abaixo, tenho uma tabela de agendamentos. A mesma possui uma coluna (tipoagendamento). Caso queira saber o total de agendamento por ano, por tipo de agendamento, bastaria executar o seguinte sql:


Porém, caso queira que as colunas ANO se transformem em colunas (PIVOT) ANTES do 11G usaria DECODE, deixando o SQL assim:


Este método funciona bem porém com uma grande desvantagem:Deve-se incluir todas as colunas que se deseja e o código costuma ficar um pouco `poluido`.


À partir da versão 11g é possível usar o método PIVOT que além de simplificar dinamiza, uma vez que não preciso duplicar comandos DECODE para cada colunas que será sumarizada:


Dúvidas? silverio@siltechconsult.com.br

 
 
 

Posts recentes

Ver tudo

Comentários


© 2022 por Siltech Consult

  • LinkedIn
bottom of page