[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