fogersp
@fogersp

Как сделать такую выборку MySQL?

Добрый день. Не могу сообразить:

table1:
id
name

table2:
fromID
toID

Как сделать селект с двух этих таблиц, чтобы получилось так:
| from | to |
| полученное name по fromID->id | полученное name по toID->id |
...
Должно быть просто вроде, но не пойму как так сделать.
  • Вопрос задан
  • 184 просмотра
Решения вопроса 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Два JOIN'а, первый по fromID, второй по toID.
Ответ написан
Комментировать
Melkij
@Melkij
PostgreSQL DBA
Приджойнить таблицу дважды, но с разными алиасами.
select tt.name, tf.name 
from table2 
join table1 tt on tt.id=toID
join table1 tf on tf.id=fromID
Ответ написан
Комментировать
@dmitryKovalskiy
программист средней руки
Про простоту и легкость речи не идет, но например так
SELECT from.id , from.name , to.id , to.name from table2 as source
INNER JOIN table1 as from on from.id = source.fromID
INNER JOIN table1 as to on to.id = source.toID

Могут быть ошибки, код набросал на коленке.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы