У меня есть оператор SQL, где я хотел бы получить данные 1200 ep_codes
, используя статью IN
. Когда я включаю более 1000 ep_codes
внутри предложения IN, Oracle говорит, что мне не разрешено это делать. Чтобы преодолеть это, я попытался изменить код SQL следующим образом:Oracle SQL: Как использовать более 1000 элементов внутри предложения IN
SELECT period, ...
FROM my_view
WHERE period = '200912'
...
AND ep_codes IN (...1000 ep_codes...)
OR ep_codes IN (...200 ep_codes...)
код был выполнен успешно, но результаты странно (результаты расчета выбирается для всех периодов, а не только для 200912, который не то, что я хотеть). Уместно ли это сделать, используя OR
между IN
или я должен выполнить два отдельных кода как один с 1000, а другой с 200 ep_codes?
Решение Паскаля Мартина отлично работает. Спасибо всем, кто внес ценные предложения.
Я обновил этот вопрос, чтобы сделать вещи ясно, о странных результатах. Теперь я пробую код, как вы предложили (с дополнительными скобками). Как только результаты будут получены, я скажу вам. –
Спасибо, сейчас работает нормально. Еще раз я вижу, насколько важны дополнительные круглые скобки. –
Добро пожаловать :-) - да, скобки могут быть полезны ;-) –