To błąd. Dodawanie /*+ NO_MERGE */
wskazówka do drugiego widoku wbudowanego w ostatnim przykładzie wygeneruje oczekiwane rezultaty. Zobacz to SQL Fiddle
dla przykładu. Niezależnie od zapytania ta podpowiedź nigdy nie powinna zmieniać wyników. Istnieje kilka innych pozornie niepowiązanych zmian, które można wprowadzić, które przyniosą prawidłowe wyniki, takich jak usunięcie niektórych kolumn lub dodanie nieużywanego ROWNUM
w środku.
Oracle ponownie pisze zapytanie, aby je zoptymalizować, ale robi coś nie tak. Prawdopodobnie możesz uzyskać więcej informacji, śledząc zapytanie, ale wątpię, czy naprawdę będziesz w stanie rozwiązać problem. Na razie obejdź to i prześlij zgłoszenie serwisowe do Oracle, aby mogli stworzyć błąd i ewentualnie go naprawić.