JOIN duas colunas para obter resultados distintos em outra tabela
Estou com a tarefa de elaborar uma leitura no banco de dados e não estou conseguindo achar uma solução para a instrução de leitura.
Basicamente tenho uma tabela que de produtos, nela tenho uma coluna para registrar o vendedor e outra para registrar o comprador assim associar esses valores com a tabela de usuários.
Digamos assim:
SELECT
produto.id,
produto.vendedor,
produto.comprador,
usuarios.id,
usuarios.nome
FROM
produto
INNER JOIN
usuarios
ON
produto.vendedor = usuarios.id
Com isso tenho a informação do vendedor na tabela de usuários, mas como faria para obter os dados do comprador também?
Uma forma seria executar dois joins na tabela de usuários porém acho que assim me parece mais gabiarra do que o jeito mais coeso de se fazer (e na verdade foi gabiarra sim porque não sei como proceder)
Tipo assim:
SELECT
produto.id,
produto.vendedor,
produto.comprador,
a.id AS a_id,
a.nome AS a_nome,
b.id AS b_id,
b.nome AS b_nome
FROM
produto
INNER JOIN
usuarios AS a
ON
produto.vendedor = a.id
INNER JOIN
usuarios AS b
ON
produto.comprador = b.id
Tem outro jeito? Como?
Discussão (4)
Carregando comentários...