Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lord Neto

INNER JOIN - 2 campos pesquisando em outra tabela

Recommended Posts

Tenho 2 tabelas no meu banco de dados:

Viagem: no_viagem, cod_cidade_origem, cod_cidade_destino

Cidades: cod_cidade, cidade, estado

 

$result=mysql_query("SELECT * FROM viagem

INNER JOIN cidades ON cod_cidade_origem = cod_cidade

ORDER BY no_viagem;");

 

Eu gostaria que o resultado da pesquisa exibisse o nome da cidade, e não cod_cidade_origem e cod_cidade_destino. Consigo somente que o primeiro campo, cod_cidade_origem, retorne do jeito que quero. Se eu colocar outro INNER JOIN com o cod_cidade_destino não funciona. Existe uma possibilidade de eu conseguir isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estava com mesmo problema que você em relação a 2 joins em uma mesma consulta

não consegui resolver

um jeito que da pra resolver seria criando procedures ou funções para rodar no sql

mas é mais facil fazer 2 selects caso vá precisar desse código em poucas páginas

 

 

Faz uma tentativa e depois posta se funcionou assim

 

$result=mysql_query("SELECT * FROM viagem

INNER JOIN cidades ON cod_cidade_origem = cod_cidade or cod_cidade_destino=cod_cidade

ORDER BY no_viagem;");

 

axo que ele deve retornar a viagem 2x e cada uma das linhas um nome da cidade

pelo que eu entendo de sql esse é o maximo que da p fazer sem procedure ou funções

 

caso eu esteja errado, alguém me corrija ai ^^

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gustavo, muito obrigado pelo sua sugestão, mas não funcionou como eu desejava.

A solução que encontrei foi a de duplicar a tabela cidade, e referenciar origem com uma e destino com outra.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.