Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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.
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