Problemas com inner join na sql, como resolver?

Delphi

30/06/2013

Olá estou preciso exibir os dados de duas tabelas,
-sendo que a tabela clientes pode ser tanto o vendedor, quanto o comprador
-a tabela vendas possui o código do vendedor e do comprador
-tendo isso serão exibidos os campos codigo do vendedor, Nome do vendedor, codigo do comprador, nome do comprador

*lembrando que vendedor é a tabela cliente e comprador também é a tabela cliente,
então porque não está retornando registros, já que estou tratando através do inner join como duas tabelas diferentes.

select

vendedor.nome, vendedor.codigo,
comprador.codigo, comprador.nome,
venda.codcomp, venda.codvend

from cliente, venda

inner join cliente as comprador on (cliente.codigo = comprador.codigo)
inner join cliente as vendedor on (cliente.codigo = vendedor.codigo)

where

venda.codvend = vendedor.codigo and
venda.codcomp = comprador.codigo


(obs utilizando a tabela cliente duplicada com os respectivos nomes funciona, mas preciso utilizar apenas a tabela clientes)
-tabelas em paradox
Carlos

Carlos

Curtidas 0

Respostas

Alan Souza

Alan Souza

30/06/2013

não funcionaria assim: (desculpe, não tenho como testar agora)


select
vendedor.nome, vendedor.codigo,
comprador.codigo, comprador.nome,
venda.codcomp, venda.codvend

from venda

inner join cliente as comprador on (venda.codcomp = comprador.codigo)
inner join cliente as vendedor on (venda.codvend = vendedor.codigo)

where
venda.codvend = vendedor.codigo and
venda.codcomp = comprador.codigo
GOSTEI 0
POSTAR