Menurut Oracle (DocId 2658003.1), ini terjadi ketika tiga kondisi terpenuhi:
- ANSI bergabung
- UNI / UNI SEMUA
- tabel yang sama muncul lebih dari satu kali dalam kueri
Rupanya, "QCSJ_C" digunakan secara internal ketika Oracle mengubah gaya ANSI bergabung.
EDIT:
Ditemukan contoh minimal:
SELECT * FROM dual d1 JOIN dual d2 ON d1.dummy=d2.dummy
UNION
SELECT * FROM dual d1 JOIN dual d2 ON d1.dummy=d2.dummy;
QCSJ_C000000000300000 QCSJ_C000000000300001
X X
Itu dapat diperbaiki dengan menggunakan sintaks gabungan non-ANSI:
SELECT * FROM dual d1, dual d2 WHERE d1.dummy=d2.dummy
UNION
SELECT * FROM dual d1, dual d2 WHERE d1.dummy=d2.dummy;
DUMMY DUMMY_1
X X
Atau, sebaiknya dengan menggunakan nama kolom daripada *
:
SELECT d1.dummy, d2.dummy FROM dual d1 JOIN dual d2 ON d1.dummy=d2.dummy
UNION
SELECT d1.dummy, d2.dummy FROM dual d1 JOIN dual d2 ON d1.dummy=d2.dummy;
DUMMY DUMMY_1
X X