Коррелированный подзапрос, где данные не находятся в таблице

Я использую MySql и имею ситуацию, которая очень похожа на коррелированный подзапрос, за исключением того, что данные во внутреннем запросе находятся не в базе данных, а в сеансе PHP.

Если бы все данные были в базе данных, запрос выглядел бы примерно так:

SELECT * FROM tableA WHERE (tableA.valueA && (
SELECT valueB FROM tableB WHERE tableB.id = tableA.id));

Моя проблема в том, что у меня нет таблицы. Вместо этого у меня есть массив PHP. Как я могу вставить массив в запрос? Должен ли я попытаться создать временную таблицу где-нибудь? Или, возможно, я должен пытаться объявить массив как переменную?

Информация в массиве PHP специфична для каждого пользователя и быстро меняется. Кроме того, будет много запросов, поэтому производительность является фактором.

1 ответ

Решение

Смотрите комментарии от Wrikken выше - я сделал эту временную таблицу, и это, кажется, хорошее решение.

Другие вопросы по тегам