Двойная выборка из одной таблицы - 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
в обеих выборках.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д