Я столкнулся со странным поведением СУБД Oracle.С SQL, приведенным ниже, набор результатов пуст.Если я удаляю одно из условий «this_.order_date> =» - он возвращает ожидаемые 2 строки.
SELECT DISTINCT this_.id AS y0_,
this_.order_date AS y1_
FROM flight_trip_orders this_,
int_work_order_info iwoi1_,
state_history_records cs2_
WHERE this_.work_info_id =iwoi1_.id
AND iwoi1_.state_history_records_id=cs2_.id
AND this_.order_date <=to_timestamp('12/16/2011', 'mm/dd/yyyy')
AND this_.order_date >=to_timestamp('12/13/2011', 'mm/dd/yyyy')
AND this_.order_date >=to_timestamp('12/15/2011', 'mm/dd/yyyy')
AND rownum <=2;
Как это могло произойти?Результаты запроса различаются в двух разных экземплярах Oracle, но обе версии 11.2.0.2.0
. Пожалуйста, не предлагайте оптимизировать запрос и удалять условия - запрос сгенерирован, и я не могу его изменить
РЕДАКТИРОВАТЬ: Добавление подсказки "ALL_ROWS" помогает с проблемой.Проблема в том, что я не могу добавить эту подсказку в реальном приложении, как описано выше.