Как выбрать из бд в массив, а потом снова выбрать из бд все строки с данными из этого массива?

Рейтинг: 0Ответов: 1Опубликовано: 08.02.2015

У меня есть таблица whois со столбцами who1, who2, status. Нужно выбрать из этой таблицы все строки, где или who1 или who2 равен, например, "glados" и поместить данные выбранных строк в массив. После нужно из таблицы whereis выбрать все строки по массиву, в которых author равно всем выбранным сначала who1 или who2, но не равно "glados".

Я не могу придумать, как это реализовать. Надеюсь на вашу помощь.

Заранее спасибо.

Обновление

Например, в первой таблице есть who1=glados, who2=moomoo, ststus=2 и прочие строки с разными данными. Нужно выбрать из этой таблицы who1 и who2 из строк, где status=2 и who1 или who2 = glados.

Ответы

▲ 2Принят

Можно вложеным запросом, если я правильно понял вопрос:

SELECT `wh`.* FROM `whereis` as wh WHERE `wh`.`author` IN (SELECT `w`.`id` WHERE `whois` as `w` WHERE (`w`.`who1`='glados' OR `w`.`who2`='glados') AND `w`.`status`='2')