Problemas com inner join na sql, como resolver?
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
-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
Curtidas 0
Respostas
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
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