У меня есть упрощенный запрос, где мне просто нужно пересечь два массива.Когда есть положительное пересечение, я получаю ожидаемый результат.Но если результата нет, я получаю все строки, возвращенные из всей таблицы, в отличие от ожидаемых нулевых строк.
Это один запрос, в котором возвращается одна строка, как и ожидалось:
SELECT ID FROM table_name WHERE ID IN (7188,2442,10350) AND ID IN (10350,6936)
Возвращает одну строку с идентификатором 10350, как и ожидалось.
Но если я попробую этот запрос:
SELECT ID FROM table_name WHERE ID IN (7188,2442) AND ID IN (10350,6936)
, он возвращает всю таблицу вместо нуля строк.
Ясно, что мой синтаксис неправильный, но я не знаю, как написать правильный запрос, который найдет пересечение двух массивов.Могу ли я узнать, как правильно написать такое пересечение?Обратите внимание, что это только одна таблица (в отличие от INNER JOIN из нескольких таблиц).Я должен использовать несколько массивов в качестве сравниваемых наборов.
Я долго искал SO и Google, но, похоже, ничего не найдено.Похоже, на этот вопрос должен быть простой ответ.