Ini bug. Menambahkan /*+ NO_MERGE */
petunjuk ke tampilan sebaris kedua dalam contoh terakhir akan menghasilkan hasil yang diharapkan. Lihat Fiddle SQL ini
untuk contoh. Terlepas dari kuerinya, petunjuk itu tidak boleh mengubah hasil. Ada beberapa perubahan lain yang tampaknya tidak terkait yang dapat Anda buat yang akan menghasilkan hasil yang benar, seperti menghapus beberapa kolom, atau menambahkan ROWNUM
yang tidak digunakan di tengah.
Oracle sedang menulis ulang kueri Anda untuk mengoptimalkannya, tetapi melakukan sesuatu yang salah. Anda mungkin dapat memperoleh lebih banyak informasi dengan menelusuri kueri, tetapi saya ragu Anda dapat benar-benar memperbaiki masalah tersebut. Atasi untuk saat ini dan kirimkan permintaan layanan ke Oracle sehingga mereka dapat membuat bug dan akhirnya memperbaikinya.