I have this case down:
(Tabelas)
cidades: id, nome_cidade,local
+--------+----------------+---------------+
| id | nome_cidade | Local |
+--------+----------------+---------------+
| 1 | Rio de Janeiro | Centro |
| 2 | São Paulo | Centro |
+--------+----------------+---------------+
(dados)
+--------+----------------+---------------+
| NOME | origem | destino |
+--------+----------------+---------------+
| Paulo | 1 | 2 |
| Rafael | 2 | 1 |
+--------+----------------+---------------+
I would like it to return like this:
+--------+----------------+---------------+
| NOME | origem | destino |
+--------+----------------+---------------+
| Paulo | Rio de Janeiro | São Paulo |
| Rafael | São Paulo | Rio de Janiro |
+--------+----------------+---------------+
Getting the ids from the cities table and returning them with their names. I'm using this code below:
SELECT d.*, c.nome_cidade FROM dados d
JOIN cidades c ON d.cidade = c.id
JOIN cidades s ON d.cidade2 = s.id
In this case you are repeating me like this
+--------+----------------+---------------+
| NOME | origem | destino |
+--------+----------------+---------------+
| Paulo | Rio de Janeiro | Rio de Janiro |
| Rafael | São Paulo | São Paulo |
+--------+----------------+---------------+
What am I doing wrong?
I tried it, too, but it did not work:
$sql = "SELECT * FROM dados
INNER JOIN cidades ON (dados.cidade = cidade.id)
INNER JOIN cidades ON (dados.cidade2 = cidade.id)
$cidade1 = $linha["cidade"];
$cidade2 = $linha["cidade2"];";