INNER JOIN in the same table

Asked

Viewed 908 times

1

SELECT Agendamento.E3TimeStamp AS Data,Agendamento.Lote, Produtos_values.name as NomeProduto, Produtos_ValueData.TemplateID AS mp_produto  
FROM produtos_values  
inner join produtos_valuedata on produtos_values.id = produtos_valuedata.valueid,agendamento

This query works right, but I need to do another Inner Join using the same table products_values so:

inner join produtos_values on produtos_values.name = agendamento.produto

separate they work but together they don’t, how can I make them both work ?

2 answers

3

da para Voce inner join with the same table using Alias different

example:

SELECT 
    Agendamento.E3TimeStamp AS Data,Agendamento.Lote, 
    Produtos_values.name as NomeProduto, 
    Produtos_ValueData.TemplateID AS mp_produto

FROM produtos_values pv
inner join produtos_valuedata pvd 
    on pv.id = pvd.valueid.agendamento
inner join produtos_values pvs
    on pv.name = pvs.agendamento.produto;

Aliases are like nicknames, consider it so.

0

Unnecessary to make a inner join with the same table. Use Where:

SELECT Agendamento.E3TimeStamp AS Data,
Agendamento.Lote, Produtos_values.name as NomeProduto,
Produtos_ValueData.TemplateID AS mp_produto
FROM produtos_values
INNER JOIN produtos_valuedata
on produtos_values.id = produtos_valuedata.valueid,agendamento
WHERE produtos_values.name = agendamento.produto;

Browser other questions tagged

You are not signed in. Login or sign up in order to post.