Como usar o INNER JOIN em 3 tabelas?

19/02/2019

21

SQL

E ai pessoal, blz?

Preciso de um help, estou montando uma Query onde preciso relacionar 3 tabelas.

Elas possuem um campo com as mesmas características e registros, porém, quando coloco o INNER JOIN relacionando como por exemplo camp1.id = camp2.id .
Tenho que fazer um novo INNER JOIN chamando o camp1.id = camp3.id. Mas desta maneira ele me da erro de conflito de campos =|

Podem ajudar?!

Abraço!
Responder

Posts

19/02/2019

Pablo Carvalho

Oi Victor, tudo bem? Coloca pra gente a query que você esta fazendo aqui, por gentileza! Vamos ver direitinho!
Responder
Victor,

join com tres tabelas é isto mesmo, a menos que estas tabelas não estejam com chaves estrangeiras adequadas obs:

SELECT
   camp1.*, 
   camp2.*,
   camp3.*
from
   camp1 
   inner join camp2 on
      camp1.id = camp2.idcamp1
   inner join camp3 on
      camp2.id = camp3.idcamp2

ou 

SELECT
   camp1.*, 
   camp2.*,
   camp3.*
from
   camp1 
   inner join camp2 on
      camp1.id = camp2.idcamp1
   inner join camp3 on
      camp1.id = camp3.idcamp1



Tem várias formas de fazer isso, o que determina são como estas três tabelas estão relacionadas...
Responder

19/02/2019

Juliano Binder

Olá , olha esse exemplo irá te ajudar.

select a.cod_bensp,
a.numero,
b.tipo,
c.categoria,

from bens_patrimoniais a

inner join tipo_bens b
on a.tipo_bens = b.cod_bensT

inner join categoria_bens c
on a.cat_bens = c.cod_bens;
Responder

19/02/2019

Marcio Souza

Olá!
campo1 e campo2 são os alias das tabelas? Se forem, não deveria ter problema. Tem como postar a sua consulta para que a gente possa ver se identifica o problema?
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira