Usuário com melhor resposta
Dúvida para criar um select

Pergunta
-
Bom dia pessoal!
Estou com o seguinte problema:
Tenho uma tabela de vendas que contém o código do vendedor e o código do comprador. Também tenho as tabelas "Vendedores" e "Compradores". Ambas possuem o campo UF_Id. Na tabela de UFs tenho todos os estados e os respectivos códigos. O problema é que eu preciso fazer um select na tabela de vendas, trazendo os nomes dos vendedores e compradores (até ai beleza pra fazer o relacionamento) mas preciso também trazer os estados tanto do vendendor quanto do comprador, ou seja, eu tenho que selecionar a coluna "Sigla" da minha tabela de UFs tanto para o Comprador quanto para o Vendendor. Como posso fazer isso?
Desde já agradeço a ajuda!
Abraços,
Rafael
Respostas
-
Rafael,coloca a tabela UF duas vezes no inner join:
select a.*, b.*, c.*, d.uf, e.uf
from
vendedor_tb a,
comprador_tb b,
venda_tb c,
uf_tb d,
ud_tb e
where a.vendedor_id = c.vendedor_id and --vendedor
b.comprador_id = c.comprador_id and --comprador
a.uf_if = d.uf_if and -- uf do vendedor
b.uf_id = e.ud_id --uf do comprador -
Olá Rafael,
Veja o exemplo, onde você vai fazer dois joins com a tabela UF:
Code SnippetSELECT C.COMPRADOR, UFC.SIGLA, V.VENDEDOR, UFV.SIGLAUF
FROM VENDAS VS
INNER JOIN COMPRADORES C ON V.IDCOMPRADOR = C.IDCOMPRADOR
INNER JOIN VENDERORES V ON VS.IDVENDEDOR = V.IDVENDEDOR
INNER JOIN UF UFC ON C.IDUF = UFC.IDUF
INNER JOIN UF UFV ON V.IDUF = UFV.IDUFAbraço
Todas as Respostas
-
Rafael,coloca a tabela UF duas vezes no inner join:
select a.*, b.*, c.*, d.uf, e.uf
from
vendedor_tb a,
comprador_tb b,
venda_tb c,
uf_tb d,
ud_tb e
where a.vendedor_id = c.vendedor_id and --vendedor
b.comprador_id = c.comprador_id and --comprador
a.uf_if = d.uf_if and -- uf do vendedor
b.uf_id = e.ud_id --uf do comprador -
Olá Rafael,
Veja o exemplo, onde você vai fazer dois joins com a tabela UF:
Code SnippetSELECT C.COMPRADOR, UFC.SIGLA, V.VENDEDOR, UFV.SIGLAUF
FROM VENDAS VS
INNER JOIN COMPRADORES C ON V.IDCOMPRADOR = C.IDCOMPRADOR
INNER JOIN VENDERORES V ON VS.IDVENDEDOR = V.IDVENDEDOR
INNER JOIN UF UFC ON C.IDUF = UFC.IDUF
INNER JOIN UF UFV ON V.IDUF = UFV.IDUFAbraço
-
-