Problemas com Pivot no 10g

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
vonzodas
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 11
Registrado em: Qua, 20 Jun 2012 9:00 am

Primeiro de tudo Eu sei que PIVOT é só no 11g, dito isso Bom dia

Estou fazendo uma um indicador onde preciso mostrar o numero de incidências de um evento sobre o número de pacientes que estiveram internados no hospital

Até o momento parei aqui
Imagem

Porém precisaria que esse resultado tivesse as linhas dos Meses como colunas, ou seja, "pivotado":
Imagem

Normalmente eu utlizo max e Decode:

Selecionar tudo

max(decode(mês, 01, Taxa, 0)) Janeiro	
 ,max(decode(mês, 02, Taxa, 0)) Fevereiro
Mas isso só me traz uma linha, no caso "Taxa", gostaria de saber como eu posso fazer para que as outras colunas (Incidencia e Pac_dia) também apareçam como linhas embaixo dos seus respectivos meses?


Meu select está assim:

Selecionar tudo

SELECT 	   max(decode(mês, 01, Taxa, 0)) Janeiro	
		  ,max(decode(mês, 02, Taxa, 0)) Fevereiro	

FROM
(
SELECT  dia.mês								mês
	   ,nvl(inc.registro,0)					INCIDENCIAS 
	   ,dia.PAC_DIA							PAC_DIA
	   ,Round(((nvl(inc.registro,0)/DECODE (dia.PAC_DIA, 0, NULL, dia.PAC_DIA))*1000),2)	Taxa


FROM
(
--2 sub-Querys gigantescas 
WHERE	  dia.mês = inc.mês (+)	
)
Agradeço desde já a ajuda =)
[*]Não sei se ficou claro, mas qualquer coisa eu tento explicar de novo
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Basta você colocar o campo a mais no SELECT e o GROUP BY.
Veja um exemplo:
http://glufke.net/oracle/viewtopic.php?t=1651
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 20 visitantes