Това е бъг. Добавяне на /*+ NO_MERGE */
намек към втория вграден изглед в последния пример ще генерира очакваните резултати. Вижте този SQL Fiddle
за пример. Независимо от заявката, тази подсказка никога не трябва да променя резултатите. Има няколко други привидно несвързани промени, които можете да направите, които ще генерират правилните резултати, като например премахване на някои от колоните или добавяне на неизползван ROWNUM
в средата.
Oracle пренаписва вашата заявка, за да я оптимизира, но прави нещо нередно. Вероятно бихте могли да получите малко повече информация, като проследите заявката, но се съмнявам, че наистина ще можете да коригирате проблема. Заобиколете го засега и изпратете заявка за услуга до Oracle, за да могат да създадат грешка и в крайна сметка да я поправят.