Fórum Problema com JOIN #43898

28/04/2004

0

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


Doom

Doom

Responder

Posts

30/04/2004

Nelson_prog

DooM

tente usar a clausula distinct depois do select ou use left outer join ao inves de inner join.

Boa Sorte.

Nelson


Responder

Gostei + 0

01/05/2004

Doom

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:


Responder

Gostei + 0

03/05/2004

Nelson_prog

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:


Responder

Gostei + 0

04/05/2004

Doom

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:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar