Boa tarde, 

 Segundo Márcio d'Ávila abaixo não precisa fazer isso:
 

 http://www.mhavila.com.br/topicos/bd/consulta_pivo.html 
http://www.mhavila.com.br/topicos/bd/consulta_pivo.html

 

 O Oracle 11g introduziu novas cláusulas PIVOT e UNPIVOT, que simplificam muito 
a sintaxe SQL para montagem de consultas com pivotagem.
 Veja como fica o exemplo anterior com a nova cláusula pivot:
 ? http://www.mhavila.com.br/topicos/bd/consulta_pivo.html#
 1
 2
 3
 4
 5
 6
 7
 8
 9
 select *
 from ( select cargo, deptno
        from colaborador )
 pivot
 (
   count(deptno)
   for deptno in (10 as dept_10, 20 as dept_20, 30 as dept_20)
 )
 /



 A cláusula IN é obrigatória, mas, se ao invés de enumerar quais valores 
literais devem compor a consulta pivô, você quiser todos, utilize ANY:
 ? http://www.mhavila.com.br/topicos/bd/consulta_pivo.html#
 1
 2
 3
 4
 5
 6
 7
 8
 9
 select *
 from ( select cargo, deptno
        from colaborador )
 pivot
 (
   count(deptno)
   for deptno in (any)
 )
 /




Responder a