Запрос с соединением таблиц - MySQL

Узнай цену своей работы

Формулировка задачи:

Вроде плёвый запрос, но я чёт сообразить не могу. В общем, есть 3 таблицы: Нужно вытянуть все поля из Problem, но фишка в том, то поле Problem.Admin может быть null.

Решение задачи: «Запрос с соединением таблиц»

textual
Листинг программы
SELECT Problem.ID, DATE, Workers.FIO_, Type_Uslugi, Usluga, Priority, CASE WHEN (Problem.Admin IS NULL) THEN Problem.Admin ELSE Admins.FIO END AS Админы 
FROM Problem, Workers, Admins
WHERE Problem.Worker = Workers.ID

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

В данном коде выполняется запрос к базам данных с использованием языка SQL.

  1. SELECT - указывает, какие поля следует выбрать из таблицы.
  2. Problem.ID, DATE, Workers.FIO_, Type_Uslugi, Usluga, Priority - перечисляют поля, которые необходимо выбрать.
  3. CASE WHEN (Problem.Admin IS NULL) THEN Problem.Admin ELSE Admins.FIO END — используется для создания нового поля Администраторы, которое будет содержать либо имя администратора из поля Problem.Admin, либо из поля Admins.FIO, если Problem.Admin равно NULL.
  4. FROM Problem, Workers, Admins — указывает, из каких таблиц следует выбирать данные.
  5. WHERE Problem.Worker = Workers.ID — устанавливает условие для соединения таблиц, что поле Worker из таблицы Problem должно быть равно полю ID из таблицы Workers. Этот запрос позволяет выбрать данные из таблиц Problem, Workers и Admins, объединив их по полю Worker и создав новое поле Администраторы.

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


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

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

10   голосов , оценка 3.6 из 5