Допустим, я сделал какой-то хитроумный SELECT (внутри него ещё селекты и всякие WHERE, GROUP, HAVING), к-рый вывел мне в итоге, скажем, две строки в две колонки.
Все четыре получившихся значения - это id-шки.
В конце концов мне надо вместо этих id-шек получить их названия, к-рые хранятся ещё в двух соседних таблицах.
Я первую колонку получить могу, а со второй возникают проблемы.
Скажем так:
SELECT table1.name1, table2.name2
FROM table1, table2
WHERE table1.id IN
(column_1 IN
(мой хитроумный первый SELECT)
)
А дальше что?
Если я напишу
AND table2.id IN
(column_2 IN
(мой хитроумный первый SELECT)
)
то мне дадут 4 строки, а не искомые две.
Если напишу
AND table2.id =
(column_2 IN
(мой хитроумный первый SELECT)
)
мне скажут, что мой хитроумный возвращает больше одной записи.
Как это надо решать?
Надеюсь, всё корректно сформулировал.