Det er en fejl. Tilføjelse af en /*+ NO_MERGE */
hint til den anden inline-visning i det sidste eksempel vil generere de forventede resultater. Se denne SQL Fiddle
for et eksempel. Uanset forespørgslen bør dette tip aldrig ændre resultaterne. Der er et par andre tilsyneladende ikke-relaterede ændringer, du kan foretage, som vil generere de korrekte resultater, såsom at fjerne nogle af kolonnerne eller tilføje en ubrugt ROWNUM
i midten.
Oracle omskriver din forespørgsel for at optimere den, men gør noget forkert. Du kunne sikkert få nogle flere oplysninger ved at spore forespørgslen, men jeg tvivler på, at du virkelig vil være i stand til at løse problemet. Løs problemet indtil videre, og send en serviceanmodning til Oracle, så de kan oprette en fejl og til sidst rette den.