O meu problema nesta query é quero contar por combinação e não individualmente. Imagina que eu já tenho este resultado: JOB DEPT_10 DEPT_20 DEPT_30 DEPT_40 --------- ---------- ---------- ---------- ---------- ANALYST 2 CLERK 1 2 1 MANAGER 1 1 1 PRESIDENT 1 SALESMAN 4
Eu quero obter por combinação do DEPT. DEPT_20 = 1 linha DEPT_10, DEPT_20, DEPT_20 = 2 linhas DEPT_10 = 1 DEPT_30 = 1 DEPT_40 = 0 Obrigada ________________________________ De: Evandro Giachetto <evandrogiache...@gmail.com> Para: oracle_br@yahoogrupos.com.br Enviadas: Terça-feira, 12 de Janeiro de 2010 15:57:24 Assunto: Re: [oracle_br] Somando por grupos O Link que te passei anteriormente já é o metodo antigo: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:766825833740 Eis a query pivô. sc...@dev816> select job, 2 max( decode( deptno, 10, cnt, null ) ) dept_10, 3 max( decode( deptno, 20, cnt, null ) ) dept_20, 4 max( decode( deptno, 30, cnt, null ) ) dept_30, 5 max( decode( deptno, 40, cnt, null ) ) dept_40 6 from ( select job, deptno, count(*) cnt 7 from emp 8 group by job, deptno ) 9 group by job 10 / JOB DEPT_10 DEPT_20 DEPT_30 DEPT_40 --------- ---------- ---------- ---------- ---------- ANALYST 2 CLERK 1 2 1 MANAGER 1 1 1 PRESIDENT 1 SALESMAN 4 Evandro Giachetto Oracle SQL Expert Oracle Certified Associate evan...@clickinterativa.com.br 2010/1/12 Evandro Giachetto <evandrogiache...@gmail.com> > Exato. No Oracle 11 surgiu a função Pivot e Unpivot, no entanto, nas > versões anteriores você pode montar uma query pivot manualmente. > > Esse link explica um pouco melhor. > http://www.adp-gmbh.ch/ora/sql/examples/pivot.html > > Espero ter ajudado. > > > Evandro Giachetto > Oracle SQL Expert > Oracle Certified Associate > evan...@clickinterativa.com.br > > > 2010/1/12 Elis Azevedo Nery <elisn...@yahoo.com> > >> >> >> Obrigada Evandro. >> A função pivot e unpivot, só está disponível a partir da 11g, não é? >> >> ________________________________ >> De: Evandro Giachetto >> <evandrogiache...@gmail.com<evandrogiachetto%40gmail.com> >> > >> Para: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br> >> Enviadas: Terça-feira, 12 de Janeiro de 2010 15:34:06 >> Assunto: Re: [oracle_br] Somando por grupos >> >> >> Um exemplo um pouco mais didático: >> >> http://asktom.oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:766825833740 >> >> Att. >> >> Evandro Giachetto >> Oracle SQL Expert >> Oracle Certified Associate >> evan...@clickinterativa.com.br <evandro%40clickinterativa.com.br> >> >> 2010/1/12 Evandro Giachetto >> <evandrogiache...@gmail.com<evandrogiachetto%40gmail.com> >> > >> >> > Bom. >> > Não entendi muito bem o que você precisa. >> > >> > Mas.. seguem algumas dúvidas: >> > >> > Você conhece quais são todas as combinações entre C01 C02 C03 e C04 >> > possíveis? >> > >> > Se sim, você pode montar uma Pivot Query (Query Pivô) para lhe trazer >> esse >> > resultado. >> > >> > Segue um exemplo: http://www.dba-oracle.com/t_sql_patterns_pivot.htm >> > >> > Att. >> > >> > Evandro Giachetto >> > Oracle SQL Expert >> > Oracle Certified Associate >> > evan...@clickinterativa.com.br <evandro%40clickinterativa.com.br> >> > >> > >> > 2010/1/12 Elis Azevedo Nery <elisn...@yahoo.com <elisnery%40yahoo.com>> >> > >> > >> >> >> >> Olá! >> >> >> >> A partir da informação a seguir, eu preciso contar quantos >> beneficiários >> >> existem por combinação, ou seja. >> >> >> >> Beneficiario C01 C02 C03 C04 >> >> 197 1 >> >> 1757 1 >> >> 2173 1 1 1 >> >> 745 1 >> >> >> >> As combinações possíveis a partir dos dados acima são: >> >> C02 >> >> C01 >> >> C01, C03, C04 >> >> >> >> Pra este caso eu teria >> >> C02 - 2 beneficiarios >> >> C01 - 1 beneficiario >> >> C01, C03, C04 - 1 beneficiario >> >> >> >> Seria possível trazer este resultado numa query? >> >> >> >> Obrigada >> >> Elis >> >> >> >> __________________________________________________________ >> >> Veja quais são os assuntos do momento no Yahoo! +Buscados >> >> http://br.maisbuscados.yahoo.com >> >> >> >> [As partes desta mensagem que não continham texto foram removidas] >> >> >> >> >> >> >> > >> > >> >> [As partes desta mensagem que não continham texto foram removidas] >> >> ------------------------------------ >> >> >> ---------------------------------------------------------- >> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de >> inteira responsabilidade de seus remetentes. >> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ >> ---------------------------------------------------------- >> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » >> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! >> VISITE: http://www.oraclebr.com.br/ >> ---------------------------------------------------------- Links do >> Yahoo! Grupos >> >> >> __________________________________________________________ >> Veja quais são os assuntos do momento no Yahoo! +Buscados >> http://br.maisbuscados.yahoo.com >> >> [As partes desta mensagem que não continham texto foram removidas] >> >> >> > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -------------------------------------------------------------------------------------------------------------------------- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -------------------------------------------------------------------------------------------------------------------------- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: >http://www.oraclebr.com.br/ ------------------------------------------------------------------------------------------------------------------------ Links do Yahoo! Grupos ____________________________________________________________________________________ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]