Запрос на вывод двух полей по разным идентификаторам - 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']."'";

Объяснение кода листинга программы

  1. Создается переменная $select_tour, которая содержит SQL-запрос.
  2. В запросе используется оператор SELECT для выбора данных из трех таблиц: tour_table, city_table и country_table.
  3. Условие WHERE связывает данные из таблиц city_table и country_table с данными из таблицы tour_table.
  4. Условие WHERE проверяет, что id_city_table в таблице city_table соответствует id_country_city_table в таблице country_table.
  5. Условие WHERE также проверяет, что id_country_country_table в таблице country_table соответствует значениям '.$_REQUEST['where_country_find'].' и '.$_REQUEST['kuda_country_find'].' из запроса.
  6. Значения '.$_REQUEST['where_country_find'].' и '.$_REQUEST['kuda_country_find'].' являются параметрами, передаваемыми в запрос из внешнего программного обеспечения через метод GET.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы