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

UNION, EXCEPT, या INTERSECT का उपयोग करते समय PostgreSQL में 'ERROR:  कॉलम "colname" मौजूद नहीं है' ठीक करें

अगर आपको "ERROR:कॉलम "colname" मौजूद नहीं है' . मिल रहा है PostgreSQL में UNION . जैसे ऑपरेटर का उपयोग करते समय , EXCEPT , या INTERSECT , हो सकता है कि आप किसी अलियास्ड कॉलम को उसके कॉलम नाम से संदर्भित करने का प्रयास कर रहे हों।

UNION . जैसे ऑपरेटरों का उपयोग करते समय , INTERSECT , और EXCEPT , यदि किसी कॉलम में एक उपनाम है, तो आपको उस उपनाम का उपयोग किसी भी ORDER BY में करना होगा खंड जो उस कॉलम को संदर्भित करता है।

त्रुटि को ठीक करने के लिए, बस कॉलम को उसके उपनाम से संदर्भित करें।

या आप उपनाम को पूरी तरह से हटा सकते हैं और सीधे कॉलम नाम का संदर्भ दे सकते हैं।

त्रुटि का उदाहरण

यहां कोड का एक उदाहरण दिया गया है जो त्रुटि उत्पन्न करता है:

(SELECT TeacherName FROM Teachers)
EXCEPT
(SELECT StudentName FROM Students)
ORDER BY TeacherName ASC;

परिणाम:

ERROR:  column "teachername" does not exist
LINE 4: ORDER BY TeacherName ASC;

यहां मैंने ORDER BY . में उपनाम का उपयोग नहीं किया है खंड जिसके परिणामस्वरूप त्रुटि हुई।

समाधान 1

इस समस्या को ठीक करने का एक तरीका ORDER BY . में उपनाम का उपयोग करना है खंड:

(SELECT TeacherName t FROM Teachers)
EXCEPT
(SELECT StudentName FROM Students)
ORDER BY t ASC;

समाधान 2

एक अन्य विकल्प उपनाम को पूरी तरह से हटाना है:

(SELECT TeacherName FROM Teachers)
EXCEPT
(SELECT StudentName FROM Students)
ORDER BY TeacherName ASC;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. किसी फ़ील्ड में PostgreSQL अनुक्रम बनाना (जो रिकॉर्ड की आईडी नहीं है)

  2. अतिरिक्त (विशिष्ट) फ़िल्टर वाले कुल कॉलम

  3. अद्वितीय कॉलम में शून्य की अनुमति दें

  4. मैं त्रुटि संबंध प्राप्त करता रहता हूं [तालिका] मौजूद नहीं है

  5. PostgreSQL, नुस्खा द्वारा सामग्री की गणना के लिए जटिल क्वेरी