inner join usando o mesmo campo da tabela

MySQL

25/04/2016

Bom Dia,

Tenho duas tabelas gostaria de fazer um select entre essas duas tabelas mostrando mostrando quatro informações sendo tendo as seguintes relacionamento entre essas tabelas:

tabela1.A --> tabela2.A
tabela1.A --> tabela2.B

Não estou conseguindo fazer um join que relacione tabela1 usando o mesmo campo duas vezes.
Poderiam me ajudar!?

Muito Obrigado
Anderson Cruz

Anderson Cruz

Curtidas 0

Melhor post

Raylan Zibel

Raylan Zibel

25/04/2016

São apelidos (alias).

select 
	t2.nrprgori, -- campo da tabela segundaria
	t1.nmprg, -- campo da tabela principal
	t3.nrprgdes -- campo da tabela segundaria
from tecnicot010 t1 -- tabela principal t1
inner join tecnicot004 t2 on (t10.nrseqprg = t2.nrprgori) -- tabela segundaria como t2
inner join tecnicot004 t3 on (t10.nrseqprg = t3.nrprgdes) -- mesma tabela segundaria como t3
GOSTEI 1

Mais Respostas

Bruno Azevedo

Bruno Azevedo

25/04/2016

Caro Anderson, não sei se eu entendi o que você realmente quer fazer...
mas para exibir todos os campos de acordo com esse relacionamento das tabelas é só fazer:

SELECT * FROM tabela1 INNER JOIN tabela2 ON tabela1.nome_da_coluna = tabela2.nome_da_coluna, INNER JOIN tabela3 ON tabela1.nome_da_coluna = tabela3.nome_da_coluna
GOSTEI 0
Anderson Cruz

Anderson Cruz

25/04/2016

Bruno,

Eu gostaria de usar a mesma coluna de uma tabela1 duas vezes relacionando com colunas diferente de uma segunda tabela2;

tabela1.A --> tabela2.A
tabela1.A --> tabela2.B

isso é possível ?
GOSTEI 0
Raylan Zibel

Raylan Zibel

25/04/2016

Deve ser algo assim:
select t1.codigo, t1.nome, t2.valor, t3.valor from tabela1 t1
inner join tabela2 t2 on (t1.codigo = t2.codigo)
inner join tabela2 t3 on (t1.codigo = t3.codigo)
GOSTEI 0
Anderson Cruz

Anderson Cruz

25/04/2016

Raylan,

Essa última linha é uma tabela temporária ? tentei aqui e não deu certo.

select tecnicot010.nrprgori, tecnicot004.nmprg, tecnicot010.nrprgdes, temp004.nmprg from tabela tecnicot010 t10
inner join tecnicot004 t4 on (t4.nrseqprg = t10.nrprgori)
inner join tecnicot004 temp004 on (t4.nrseqprg = temp004.nrprgdes)
GOSTEI 0
Anderson Cruz

Anderson Cruz

25/04/2016

Obrigado Raylan!
GOSTEI 0
POSTAR