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

Oracle UNION और ORDER BY के साथ जिज्ञासु मुद्दा

यह वास्तव में प्रश्न का उत्तर नहीं देता है, लेकिन यह भाषा की आवश्यकता के बजाय एक पार्सर बग (या 'फीचर') लगता है।

माई ओरेकल सपोर्ट के अनुसार, ऐसा लगता है कि इसे बग 14196463 के रूप में उठाया गया था, लेकिन बिना किसी समाधान के बंद कर दिया गया। सामुदायिक थ्रेड 3561546 में भी इसका उल्लेख किया गया है। हालांकि इनमें से किसी एक को देखने के लिए आपको एक एमओएस खाता, या कम से कम एक ओरेकल खाता चाहिए।

यह एक ओटीएन थ्रेड में भी चर्चा की गई है, जहां तक ​​​​मैं कह सकता हूं कि एमओएस खाते की बजाय मूल ओरेकल लॉगिन की आवश्यकता है। इसमें भी अधिक जानकारी नहीं है लेकिन आपके निष्कर्षों को दोहराता है, और यह भी बताता है कि व्यवहार कम से कम 9.2.0.8 और शायद बहुत पहले से मौजूद है।

दस्तावेज़ीकरण थोड़ा अस्पष्ट है लेकिन यह इंगित नहीं करता है कि यह एक समस्या होने की उम्मीद है:

<ब्लॉकक्वॉट>

सेट ऑपरेटरों वाले यौगिक प्रश्नों के लिए UNION , INTERSECT , MINUS , या UNION ALL , ORDER BY क्लॉज में स्पष्ट अभिव्यक्तियों के बजाय स्थिति या उपनाम निर्दिष्ट होना चाहिए। साथ ही, ORDER BY खंड केवल अंतिम घटक क्वेरी में प्रकट हो सकता है। ORDER BY क्लॉज पूरी कंपाउंड क्वेरी द्वारा लौटाई गई सभी पंक्तियों का आदेश देता है।

आप अपनी अभिव्यक्ति को अलियासिंग कर रहे हैं और उसका उपयोग कर रहे हैं, और यह नहीं कहता है कि आपको विशेष घटकों को उपनाम देना है (हालांकि निश्चित रूप से यह नहीं कहता है कि आप नहीं या तो करना होगा)।

अंतिम प्रक्षेपण के लिए उपनाम के मान्य होने के साथ व्यवहार असंगत लगता है, और उपनाम के बारे में सामान्य नियम केवल खंड द्वारा क्रम में मान्य है - ऐसा लगता है कि यह कहीं बीच में गिर रहा है।



  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. MYSQL परिणाम में संख्याओं को शब्दों में बदलना! क्वेरी का उपयोग करना

  3. Oracle में varchar और varchar2 में क्या अंतर है?

  4. संग्रह विधि:Oracle डेटाबेस में मौजूद कार्य

  5. Oracle में ROUND () और TRUNC () दिनांक कार्यों के लिए समर्थित प्रारूप मॉडल