[oracle_br] Dúvida com Outer Join
Pessoal, Estou tentando efetuar um outer join entre uma tabela e uma view. A tabela sempre possui pelo menos dois registros e a view pode não trazer dados para um deles. O select abaixo sempre retorna apenas o código que tem valor, o outro não. A versão do Oracle que tenho é 10.2.0.3. Grato pela ajuda! Flavio SELECT a.cd_cliente, sum(b.val_posi) val_posicao FROM tabela a, view b WHERE a.cd_cpfcgc = 12345678900 AND a.in_situac = 'A' and a.cd_cliente = b.cod_cli(+) and b.tipo_grup = 'ACAO' group by a.CD_CLIENTE;
Re: [oracle_br] Dúvida com Outer Join
Flavio Acho que o problema na instrução é: and b.tipo_grup = 'ACAO' Se não há correspondência na view (alias b), então b.tipo_grup NÃO terá valor (será nulo). [ ] André 2009/6/10 Flavio de Lamare flavio_delam...@yahoo.com.br Pessoal, Estou tentando efetuar um outer join entre uma tabela e uma view. A tabela sempre possui pelo menos dois registros e a view pode não trazer dados para um deles. O select abaixo sempre retorna apenas o código que tem valor, o outro não. A versão do Oracle que tenho é 10.2.0.3. Grato pela ajuda! Flavio SELECT a.cd_cliente, sum(b.val_posi) val_posicao FROM tabela a, view b WHERE a.cd_cpfcgc = 12345678900 AND a.in_situac = 'A' and a.cd_cliente = b.cod_cli(+) and b.tipo_grup = 'ACAO' group by a.CD_CLIENTE; [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Dúvida com Outer Join
O sinal de outer fica do lado oposto ao que você quer que trazer mesmo que não corresponda no join. 2009/6/10 Flavio de Lamare flavio_delam...@yahoo.com.br Pessoal, Estou tentando efetuar um outer join entre uma tabela e uma view. A tabela sempre possui pelo menos dois registros e a view pode não trazer dados para um deles. O select abaixo sempre retorna apenas o código que tem valor, o outro não. A versão do Oracle que tenho é 10.2.0.3. Grato pela ajuda! Flavio SELECT a.cd_cliente, sum(b.val_posi) val_posicao FROM tabela a, view b WHERE a.cd_cpfcgc = 12345678900 AND a.in_situac = 'A' and a.cd_cliente = b.cod_cli(+) and b.tipo_grup = 'ACAO' group by a.CD_CLIENTE; -- Júlio César Corrêa IS Technologist - Oracle DBA www.dbajccorrea.com To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate John Hall, Senior Vice President, Oracle University [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 * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Dúvida com Outer Join
Flávio, Acredito que o problema possa estar na utilização da cláusula where and b.tipo_grup = 'ACAO'. Como você está utilizando um OUTER JOIN sugiro que se você precise dessa condição tente algo utilizando o conceito de inline view, não cheguei a testar, mas se puder testar me avise se funcionou: SELECT a.cd_cliente, sum(b.val_posi) val_posicao FROM tabela a, (select * from view where tipo_grup = 'ACAO') b WHERE a.cd_cpfcgc = 12345678900 AND a.in_situac = 'A' and a.cd_cliente = b.cod_cli(+) group by a.CD_CLIENTE; Atenciosamente, Caio Spadafora. http://0011brothers.blogspot.com/ --- Em qua, 10/6/09, Júlio César Corrêa juliotubi...@yahoo.com.br escreveu: De: Júlio César Corrêa juliotubi...@yahoo.com.br Assunto: Re: [oracle_br] Dúvida com Outer Join Para: oracle_br@yahoogrupos.com.br Data: Quarta-feira, 10 de Junho de 2009, 10:59 O sinal de outer fica do lado oposto ao que você quer que trazer mesmo que não corresponda no join. 2009/6/10 Flavio de Lamare flavio_delam...@yahoo.com.br Pessoal, Estou tentando efetuar um outer join entre uma tabela e uma view. A tabela sempre possui pelo menos dois registros e a view pode não trazer dados para um deles. O select abaixo sempre retorna apenas o código que tem valor, o outro não. A versão do Oracle que tenho é 10.2.0.3. Grato pela ajuda! Flavio SELECT a.cd_cliente, sum(b.val_posi) val_posicao FROM tabela a, view b WHERE a.cd_cpfcgc = 12345678900 AND a.in_situac = 'A' and a.cd_cliente = b.cod_cli(+) and b.tipo_grup = 'ACAO' group by a.CD_CLIENTE; -- Júlio César Corrêa IS Technologist - Oracle DBA www.dbajccorrea.com “To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate” –John Hall, Senior Vice President, Oracle University [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]
Re: [oracle_br] Dúvida com Outer Join
Flavio Complementando... Para resolver o problema, você pode colocar mais um operador (+): and b.tipo_grup (+) = 'ACAO' Faça um teste. [ ] André 2009/6/10 Andre Santos andre.psantos...@gmail.com Flavio Acho que o problema na instrução é: and b.tipo_grup = 'ACAO' Se não há correspondência na view (alias b), então b.tipo_grup NÃO terá valor (será nulo). [ ] André 2009/6/10 Flavio de Lamare flavio_delam...@yahoo.com.br Pessoal, Estou tentando efetuar um outer join entre uma tabela e uma view. A tabela sempre possui pelo menos dois registros e a view pode não trazer dados para um deles. O select abaixo sempre retorna apenas o código que tem valor, o outro não. A versão do Oracle que tenho é 10.2.0.3. Grato pela ajuda! Flavio SELECT a.cd_cliente, sum(b.val_posi) val_posicao FROM tabela a, view b WHERE a.cd_cpfcgc = 12345678900 AND a.in_situac = 'A' and a.cd_cliente = b.cod_cli(+) and b.tipo_grup = 'ACAO' group by a.CD_CLIENTE; [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Dúvida com Outer Join
Júlio No caso dele, o operador está no local certo. [ ] André 2009/6/10 Júlio César Corrêa juliotubi...@yahoo.com.br O sinal de outer fica do lado oposto ao que você quer que trazer mesmo que não corresponda no join. 2009/6/10 Flavio de Lamare flavio_delam...@yahoo.com.br Pessoal, Estou tentando efetuar um outer join entre uma tabela e uma view. A tabela sempre possui pelo menos dois registros e a view pode não trazer dados para um deles. O select abaixo sempre retorna apenas o código que tem valor, o outro não. A versão do Oracle que tenho é 10.2.0.3. Grato pela ajuda! Flavio SELECT a.cd_cliente, sum(b.val_posi) val_posicao FROM tabela a, view b WHERE a.cd_cpfcgc = 12345678900 AND a.in_situac = 'A' and a.cd_cliente = b.cod_cli(+) and b.tipo_grup = 'ACAO' group by a.CD_CLIENTE; -- Júlio César Corrêa IS Technologist - Oracle DBA www.dbajccorrea.com To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate John Hall, Senior Vice President, Oracle University [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 [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 * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html