Det är en bugg. Lägga till en /*+ NO_MERGE */
ledtråd till den andra inline-vyn i det sista exemplet kommer att generera de förväntade resultaten. Se denna SQL-fiol
för ett exempel. Oavsett frågan bör den tipsen aldrig ändra resultaten. Det finns ett par andra till synes orelaterade ändringar du kan göra som kommer att generera rätt resultat, som att ta bort några av kolumnerna eller lägga till en oanvänd ROWNUM
i mitten.
Oracle skriver om din fråga för att optimera den, men gör något fel. Du kan förmodligen få lite mer information genom att spåra frågan, men jag tvivlar på att du verkligen kommer att kunna lösa problemet. Lös det för tillfället och skicka in en serviceförfrågan till Oracle så att de kan skapa en bugg och så småningom fixa den.