Задать вопрос
@survivor2005

Как объединить 2 таблицы обращаясь к одному и тому же полю 2 раза?

Друзья, помогите, пожалуйста. Есть 2 таблицы, надо объединить. Суть в том, что первая таблица clients, имеет поля "id", "sender_city_id" и "recipient_city_id", ..., а вторая таблица с названиями городов: "cities" имеет поле 'id', "city", ...
Как мне объединить таблицы clients и cities если "sender_city_id" и "recipient_city_id" из таблицы clients должны обращаться к id полю из таблицы сities.
Пример, если бы у меня был только sender_city_id:
SELECT clients.id, clients.name, cities.city as sender_city FROM clients LEFT JOIN cities ON clients.sender_city_id = cities.id
и все бы хорошо, но есть поле recipient_city_id, которое ссылается на id из таблицы cities, и которое тоже должно обратиться к таблице cities за названием города получателя.
Не знаю, смог ли я донести мысль, готов ответить на все вопросы. Спасибо
  • Вопрос задан
  • 172 просмотра
Подписаться 1 Простой 4 комментария
Решения вопроса 1
Во-первых, прочитать правила ресурса и научиться оформлять код в своих вопросах.
Во-вторых, так и делать связь между таблицами по id:
SELECT clients.id, clients.name, sc.city as sender_city, rc.city as recipient_city
FROM clients 
    LEFT JOIN cities as sc ON clients.sender_city_id = sc.id
    LEFT JOIN cities as rc ON clients.recipient_city_id = rc.id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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