Problema com JOIN
Pessoal eu tenho uma tabela filme e uma tabela diretor...
Fazendo a relação entre as duas tenho uma tabela filme_diretor, e na hora do join to fazendo o seguinte:
select f.filme,d.diretor
from tb_filme f, tb_diretor d,tb_diretor_filme df
inner join tb_diretor_filme on f.cd_filme=df.cd_filme
inner join tb_diretor_filme on d.cd_diretor=df.cd_diretor
Até ai firmeza, ele faz o que eu to pedindo...
O problema eh que ele tah exibindo na grid do ISQL um monte de registros duplicados....
Por exemplo um monte de registros com o mesmo diretor e o mesmo filme... tipo clonados.
Alguem pode me ajudar a resolver essa???
Agradeço desde já...
Obrigado
Fazendo a relação entre as duas tenho uma tabela filme_diretor, e na hora do join to fazendo o seguinte:
select f.filme,d.diretor
from tb_filme f, tb_diretor d,tb_diretor_filme df
inner join tb_diretor_filme on f.cd_filme=df.cd_filme
inner join tb_diretor_filme on d.cd_diretor=df.cd_diretor
Até ai firmeza, ele faz o que eu to pedindo...
O problema eh que ele tah exibindo na grid do ISQL um monte de registros duplicados....
Por exemplo um monte de registros com o mesmo diretor e o mesmo filme... tipo clonados.
Alguem pode me ajudar a resolver essa???
Agradeço desde já...
Obrigado
Doom
Curtidas 0
Respostas
Nelson_prog
28/04/2004
DooM
tente usar a clausula distinct depois do select ou use left outer join ao inves de inner join.
Boa Sorte.
Nelson
tente usar a clausula distinct depois do select ou use left outer join ao inves de inner join.
Boa Sorte.
Nelson
GOSTEI 0
Doom
28/04/2004
Muito obrigado Nelson, realmente eu só precisei colocar um distinct depois do select. Problema resolvido.
Mas eu agora fiquei curioso... por que acontece isso??? Por que o IB repete os registro, você ou algum fera do fórum sabe resolver como funciona a lógica da coisa?
Só por curiosidade... :wink:
Mas eu agora fiquei curioso... por que acontece isso??? Por que o IB repete os registro, você ou algum fera do fórum sabe resolver como funciona a lógica da coisa?
Só por curiosidade... :wink:
GOSTEI 0
Nelson_prog
28/04/2004
Bom Domm,
a clausula distinct no interbase prevê a exclusão de linhas semelhantes no resultado do select, ou seja, retira a duplicidade.
Espero que tenha de ajudado!
Boa Sorte.
Nelson :wink:
a clausula distinct no interbase prevê a exclusão de linhas semelhantes no resultado do select, ou seja, retira a duplicidade.
Espero que tenha de ajudado!
Boa Sorte.
Nelson :wink:
GOSTEI 0
Doom
28/04/2004
Não nelson, o distinct eu entendi...
O que eu queria saber porque que no inner join que eu criei sem o distinct o IB faz o que eu peço mas causa essa duplicidade.
Por que ele pensa assim? Compreende...
Só a titulo de curiosidade mesmo.....
:lol:
O que eu queria saber porque que no inner join que eu criei sem o distinct o IB faz o que eu peço mas causa essa duplicidade.
Por que ele pensa assim? Compreende...
Só a titulo de curiosidade mesmo.....
:lol:
GOSTEI 0