Según Oracle (DocId 2658003.1), esto sucede cuando se cumplen tres condiciones:
- Únete a ANSI
- UNIÓN / UNIÓN TODOS
- la misma tabla aparece más de una vez en la consulta
Aparentemente, "QCSJ_C" se usa internamente cuando Oracle transforma uniones de estilo ANSI.
EDITAR:
Encontré un ejemplo mínimo:
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
Se puede arreglar usando una sintaxis de combinación que no sea 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
O, preferiblemente, usando nombres de columna en lugar de *
:
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