Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ORACLE 12.2.01 समान नामों वाली विभिन्न तालिकाओं से स्तंभों का चयन करना -> आंतरिक स्तंभ पहचानकर्ता का उपयोग किया जाता है

Oracle (DocId 2658003.1) के अनुसार, ऐसा तब होता है जब तीन शर्तें पूरी होती हैं:

  1. एएनएसआई शामिल हों
  2. यूनियन / यूनियन ऑल
  3. क्वेरी में एक ही तालिका एक से अधिक बार दिखाई देती है

स्पष्ट रूप से, "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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle का to_char () फ़ंक्शन रिक्त स्थान क्यों जोड़ रहा है?

  2. Oracle डेटाबेस में RAISE_APPLICATION_ERROR विधि का उपयोग करके उपयोगकर्ता-परिभाषित अपवाद घोषित करें

  3. पीएल/एसक्यूएल में स्ट्रिंग को कैसे विभाजित करें?

  4. DBMS_JOB का उपयोग करके Oracle में नौकरी बनाना

  5. एक Oracle लेखा परीक्षा जीवित रहना