Oracle (DocId 2658003.1) के अनुसार, ऐसा तब होता है जब तीन शर्तें पूरी होती हैं:
- एएनएसआई शामिल हों
- यूनियन / यूनियन ऑल
- क्वेरी में एक ही तालिका एक से अधिक बार दिखाई देती है
स्पष्ट रूप से, "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
इसे या तो गैर-एएनएसआई जॉइन सिंटैक्स का उपयोग करके ठीक किया जा सकता है:
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