[firebase-br] RES:  dúvida múltiplos Joins
    Ivan Guimarães Meirelles 
    igmeirelles em gmail.com
       
    Qui Dez  2 13:38:48 -03 2010
    
    
  
Olá Matheus...
Quando se usa LEFT para o join... significa que a tabela a esquerda do join
deverá trazer todos os registros, mesmo que não tenha um correspondente na
tabela que está a direita do Join...
Porém vc colocou DUAS tabelas a esquerda do join... por isso quando usa o
LEFT o firebird não sabe qual delas vc está se referindo...
Espero ter ajudado.
Um abraço.
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Matheus Marques
Enviada em: quinta-feira, 2 de dezembro de 2010 11:03
Para: FireBase
Assunto: [firebase-br] dúvida múltiplos Joins
Boa tarde,
Alguem sabe explicar porque não pode usar essa instrução?
*select *
>   g.grupo,
>   p.produto,
>   c.complemento
> *from *produto p, grupo g
> *left join* complemento c *on *c.produto = p.produto *where *p.codgru 
> = g.codgru
>
Erro apresentado: "no current record for fetch operation.".
Se eu substituir o "left" pelo "inner" funciona, mas não é o resultset que
eu quero.
Só consegui o resultado correto trocando o *from produto e o left join
complemento*, com um *subselect*:
*select *
>   g.grupo,
>   p.produto,
>   p.complemento
> *from *
>  ( *select *p1.produto, c.complemento, p1.codgru
>    *from *produto p1
> *   left join* complemento c *on *c.produto = p1.produto
> ) p, grupo g
> *where *p.codgru = g.codgru
>
Grato,
Matheus
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
    
    
Mais detalhes sobre a lista de discussão lista