Двойная выборка из одной таблицы - MySQL

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

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

есть одна таблица много столбиков нужно сделать две выборки выборка1: столбец10=значение1 выборка2: столбец10=значение2 потом выбрать выборка1.столбец5=выборка2.столбец5 запрос с помещением результатов в доп таблицы я делал, но мне нужно сделать одним запросом как то так я это представляю, но не работает
select field5,
        (select field5 from table as v1 where v1.field10 = значение1) as str1,
    (select field5 from table as v2 where v2.field10 = значение2) as str2
from table 
where str1=str2

Решение задачи: «Двойная выборка из одной таблицы»

textual
Листинг программы
SELECT *
FROM
  (
   SELECT *
   FROM tab1
   WHERE col10 = val1
  ) T1,
  (
   SELECT *
   FROM tab1
   WHERE col10 = val2
  ) T2
WHERE T1.col5 = T2.col5

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

В этом коде выполняется двойная выборка из таблицы tab1. В первой выборке выбираются все строки, где значение столбца col10 равно val1, а во второй выборке — все строки, где значение столбца col10 равно val2. Затем результаты первой и второй выборок объединяются с помощью оператора WHERE, где условием является равенство значений столбца col5 в обеих выборках.

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


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

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

15   голосов , оценка 3.8 из 5