Мои таблиц БД таковы:Как добавить один и тот же столбец дважды в таблицу в разных местах?
- маршруты - таблица маршрутов, с колоннами:
а. destination_id
b. departure_id - пункты назначения - таблица для всех пунктов назначения с колонками:
a. destination_id
b. destination_name.
Поскольку каждый пункт назначения также является отправной точкой, я использую одну таблицу для обоих.
связь выглядит следующим образом:
1. routes.destination_id = destinations.destination_id,
также
2. routes.departure_id = destinations.destination_id
Результат мне нужен, как описано:
Если route.destination_id = 3 и routes.departure_id = 5, я хочу сопоставить каждое из них с соответствующим именем в таблице адресатов и поместить в результат правильные имена столбцов, для отправки я хочу называть его departure_cit y и то же для назначения. Сейчас я получаю одно и то же имя для обоих идентификаторов, поэтому, если destination_id # 3 - это Нью-Йорк, а destination_id # 5 - Лас-Вегас, я получу оба, как Нью-Йорк, и это не то, что мне нужно.
До сих пор мой запрос выглядит следующим образом:
SELECT routes.*, destinations.destination_name as 'departure_city', destinations.destination_name as 'destination_city'
FROM routes, destinations
WHERE routes.route_departure_id = destinations.destination_id
Перед тем, как говорят мне использовать JOIN, я сделал это с JOIN, но не может изменить имя столбца! Кроме того, я всегда получал все столбцы таблицы, и я не знаю, как получить только необходимые столбцы с помощью JOIN!
В настоящее время мои проблемы состоят в том, что я не могу получить значение из пунктов назначения дважды, один раз для route_destination и один для route_departure и показать разные значения.
Запрос в этом вопросе уже задает операцию соединения двух таблиц в предложении FROM, хотя, используя древний синтаксис «запятая» вместо нового ключевого слова JOIN. (Мы предпочитаем использовать синтаксис синтаксиса старой школы для операции соединения и использовать ключевое слово JOIN, но это действительно не изменяет запрос.) Мы можем назначить псевдоним выражению в списке SELECT, чтобы назначить имя столбцу в наборе результатов. Нам потребуется одна операция соединения, чтобы найти город «отъезд», а также вторую операцию присоединения к поиску города «прибытия». – spencer7593