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

"ERROR 1054 (42S22) को ठीक करें:मारियाडीबी में 'ऑर्डर क्लॉज" में अज्ञात कॉलम 'कॉलनेम'

अगर आपको त्रुटि मिल रही है "ERROR 1054 (42S22):'ऑर्डर क्लॉज' में अज्ञात कॉलम 'कॉलनाम' मारियाडीबी में, यह हो सकता है कि आप एक उपनाम वाले कॉलम को उसके कॉलम नाम से संदर्भित करने का प्रयास कर रहे हों।

दो या दो से अधिक तालिकाओं को जोड़ने वाली क्वेरी चलाते समय यह एक सामान्य त्रुटि है। यह UNION . जैसे ऑपरेटरों का उपयोग करते समय भी हो सकता है , INTERSECT , और EXCEPT

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

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

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

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

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

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

परिणाम:

ERROR 1054 (42S22): Unknown column 'TeacherName' in 'order clause'

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

समाधान 1

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

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

परिणाम:

+-------+
| t     |
+-------+
| Ben   |
| Cathy |
+-------+

इस मामले में, उपनाम परिणाम में कॉलम हेडर बन जाता है।

समाधान 2

ऐसा करने का एक और तरीका है कि उपनाम को पूरी तरह से हटा दिया जाए:

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

परिणाम:

+-------------+
| TeacherName |
+-------------+
| Ben         |
| Cathy       |
+-------------+

इस बार कॉलम का नाम कॉलम हेडर बन जाता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी ओपनवर्क्स सम्मेलन में परिवर्तनकारी कहानियां

  2. मारियाडीबी में WEIGHT_STRING () कैसे काम करता है

  3. अधिकतम डेटा सुरक्षा के लिए पूर्ण मारियाडीबी एन्क्रिप्शन एट-रेस्ट और इन-ट्रांजिट - भाग एक

  4. मारियाडीबी में INSERT () फ़ंक्शन कैसे काम करता है

  5. कैसे मारियाडीबी ने Xpand . के साथ वैश्विक स्तर हासिल किया