Oracle(DocId 2658003.1)によると、これは次の3つの条件が満たされた場合に発生します。
- ANSIに参加
- UNION / UNION ALL
- 同じテーブルがクエリに複数回表示される
明らかに、「QCSJ_C」は、OracleがANSIスタイルの結合を変換するときに内部的に使用されます。
編集:
最小限の例を見つけました:
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
非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
または、できれば*
の代わりに列名を使用します :
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