Je to chyba. Přidání /*+ NO_MERGE */
nápověda k druhému inline pohledu v posledním příkladu vygeneruje očekávané výsledky. Viz tento SQL Fiddle
pro příklad. Bez ohledu na dotaz by tato nápověda nikdy neměla změnit výsledky. Existuje několik dalších zdánlivě nesouvisejících změn, které můžete provést a které vygenerují správné výsledky, jako je odstranění některých sloupců nebo přidání nepoužitého ROWNUM
uprostřed.
Oracle přepisuje váš dotaz, aby jej optimalizoval, ale něco dělá špatně. Pravděpodobně byste mohli získat nějaké další informace sledováním dotazu, ale pochybuji, že budete schopni problém skutečně vyřešit. Zatím to obejděte a odešlete požadavek na službu společnosti Oracle, aby mohli vytvořit chybu a případně ji opravit.