Запрос из двух столбцов, реально ли? - MySQL

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

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

Есть два столбца, допустим id_object и id_service примерно так:
id_object    id_service
  1                 1
  1                 5
  5                 1
  7                 2
Нужно вот что: выбрать все строки, в которых значение id_service = 1 или 5, но не просто 1 или 5, а чтобы эти значения были связаны со столбцом id_object т.е. чтобы выводилось вот так
id_object    id_service
  1                 1
  1                 5
  2                 1
  2                 5
если id_object=1, то проверить есть ли у него значение 1 и 5 одновременно у id_service. если да, то выводить, если нет, то не нужно. допустим, если есть значение 1, но нет значения 5, то выводить не нужно

Решение задачи: «Запрос из двух столбцов, реально ли?»

textual
Листинг программы
SELECT t.*
FROM mytable t
    JOIN mytable t1 ON
        t.id_object = t1.id_object
        AND t1.id_service = 1
    JOIN mytable t5 ON
        t1.id_object = t5.id_object
        AND t5.id_service = 5

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

В представленном коде выполняется запрос к таблице mytable с условием объединения по двум столбцам: id_object и id_service. При этом, для объединения используются таблицы t1 и t5. Значения переменных, которые соответствуют идентификаторам объектов и услуг, равны 1 и 5 соответственно. Список элементов кода:

  1. SELECT t.* - выбор всех столбцов из таблицы mytable с псевдонимом t.
  2. FROM mytable t - указание источника данных (таблицы mytable).
  3. JOIN mytable t1 ON - условие объединения по двум столбцам: id_object и id_service.
  4. AND t1.id_service = 1 - добавление условия объединения по столбцу id_service со значением 1.
  5. JOIN mytable t5 ON - условие объединения по двум столбцам: id_object и id_service.
  6. AND t5.id_service = 5 - добавление условия объединения по столбцу id_service со значением 5. Таким образом, в результате выполнения запроса будет получена выборка данных из таблицы mytable, в которой будут учтены указанные условия объединения по столбцам id_object и id_service.

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


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

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

13   голосов , оценка 3.692 из 5