Obrigada Marcos! 5 Estrelas!
________________________________ De: Marcos de Lima Takayas <taka...@embratel.net.br> Para: elisn...@yahoo.com Enviadas: Quinta-feira, 5 de Fevereiro de 2009 15:54:49 Assunto: [oracle_br] Query Complicada Bom dia Elis, Veja se isso te atende (ele só faz uma chamada a tabela): SQL> select tbl_desc.descritor, 2 decode(descritor,'A',tbl_conta.countA,tbl_conta.countB) 3 from 4 ( 5 select sum(decode(A,'S',1,0)) as countA, 6 sum(decode(B,'S',1,0)) 7 as countB 8 from tabela 9 ) tbl_conta, 10 (select 'A' as descritor from dual 11 union all 12 select 'B' as descritor from dual) tbl_desc 13 ; DESCRITOR DECODE(DESCRITOR,'A',TBL_CONTA -------------------------------- ------------------------------ A 2 B 2 Plano de Execução ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=6 Card=2 Bytes=58) 1 0 MERGE JOIN (CARTESIAN) (Cost=6 Card=2 Bytes=58) 2 1 VIEW (Cost=2 Card=1 Bytes=26) 3 2 SORT (AGGREGATE) 4 3 TABLE ACCESS (FULL) OF 'TABELA' (Cost=2 Card=82 Byt es=492) 5 1 VIEW (Cost=4 Card=2 Bytes=6) 6 5 UNION-ALL 7 6 TABLE ACCESS (FULL) OF 'DUAL' (Cost=2 Card=1) 8 6 TABLE ACCESS (FULL) OF 'DUAL' (Cost=2 Card=1) Elis Azevedo Nery escreveu: > > Olá Pessoas! > > Será que alguém tem uma solução para esta query que eu quero fazer? > Tenho a tabela assim: > > A B > ---------- > S S > S N > N S > > Preciso contar as linhas com 'S' para cada coluna e gostaria de obter o > resultado numa tabela assim: > > Coluna Count > -------------------- > A 2 > B 2 > > Com union eu consigo, mas não queria ler a tabela 2 vezes. Tentei com decode, > mas não dá porque ele conta só uma vez, para a primeira informação que lê. > Não vale ser com procedimento, preciso do resultado num Select, será que é > possível? > > Obrigada > Elis > > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com <http://br.maisbuscados.yahoo.com> > > [As partes desta mensagem que não continham texto foram removidas] > > -- Marcos Takayas Administrador de Banco de Dados Embratel - NOC GER REDES E SERVIÇOS IP - TRD805 2121-2706 9398-4193 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]