Двойная выборка из одной таблицы - 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 в обеих выборках.