Запрос на вывод двух полей по разным идентификаторам - MySQL
Формулировка задачи:
Имеется три таблицы "страна", "город", "тур". В таблице "тур"- поля: "город вылета", "город прибытия". Связаны все таблицы след.образом: tour.id_city->city.id_country. Задача состоит в следующем: Необходимо вывести название тура и соответствующие туру поля: город вылета и город прибытия. Пробовала при помощи конструкции .... city.id_c IN(идентификатор_города_вылета, идентификатор_города_прибытия).
Имеется три таблицы "страна", "город", "тур". В таблице "тур"- поля: "город вылета", "город прибытия". Связаны все таблицы след.образом: tour.id_city->city.id_country. Задача состоит в следующем: Необходимо вывести название тура и соответствующие туру поля: город вылета и город прибытия. Пробовала при помощи конструкции .... city.id IN(идентификатор_города_вылета, идентификатор_города_прибытия), например нужно вывести тур с городом_вылета-Москва, а город_прибытия-Афины. Тогда указанная выше конструкцию приводит к выводу всех туров, у которых город вылета Москва, а город прибытия любой. Также пробовала указывать в запросе "......tour.id_city_departure=город_вылета AND tour.id_city_arrival=город_прибытия" И снова не тот результат,который нужен. Не создавать же теперь еще таблицы с городами и странами для выборки из них города прибытия
Решение задачи: «Запрос на вывод двух полей по разным идентификаторам»
textual
Листинг программы
$select_tour="SELECT * FROM tour_table, city_table, country_table WHERE city_from_tour_table=id_city_table AND city_to_tour_table=id_city_table AND id_country_country_table=id_country_city_table AND id_country_country_table='".$_REQUEST['where_country_find']."' AND id_country_country_table='".$_REQUEST['kuda_country_find']."'";
Объяснение кода листинга программы
- Создается переменная $select_tour, которая содержит SQL-запрос.
- В запросе используется оператор SELECT для выбора данных из трех таблиц: tour_table, city_table и country_table.
- Условие WHERE связывает данные из таблиц city_table и country_table с данными из таблицы tour_table.
- Условие WHERE проверяет, что id_city_table в таблице city_table соответствует id_country_city_table в таблице country_table.
- Условие WHERE также проверяет, что id_country_country_table в таблице country_table соответствует значениям '
.$_REQUEST['where_country_find'].
' и '.$_REQUEST['kuda_country_find'].
' из запроса. - Значения '
.$_REQUEST['where_country_find'].
' и '.$_REQUEST['kuda_country_find'].
' являются параметрами, передаваемыми в запрос из внешнего программного обеспечения через метод GET.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д