Volgens Oracle (DocId 2658003.1) gebeurt dit wanneer aan drie voorwaarden wordt voldaan:
- ANSI doe mee
- UNIE / ALLEN UNIE
- dezelfde tabel komt meerdere keren voor in de zoekopdracht
Blijkbaar wordt "QCSJ_C" intern gebruikt wanneer Oracle ANSI-stijl joins transformeert.
BEWERKEN:
Een minimaal voorbeeld gevonden:
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
Het kan worden opgelost door ofwel niet-ANSI join-syntaxis te gebruiken:
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
Of, bij voorkeur door kolomnamen te gebruiken in plaats van *
:
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