नहीं, आप select
. के समान स्तर पर अन्यत्र उपनाम का उल्लेख नहीं कर सकते , order by
. के अलावा अन्य क्लॉज, क्योंकि जब Oracle इसे आंतरिक रूप से असाइन करता है।
दस्तावेज़ीकरण से (जोर जोड़ा गया):
<ब्लॉककोट>
आप चयन सूची में तत्काल पूर्ववर्ती अभिव्यक्ति को लेबल करने के लिए कॉलम उपनाम, c_alias का उपयोग कर सकते हैं ताकि कॉलम एक नए शीर्षक के साथ प्रदर्शित हो। उपनाम प्रभावी रूप से क्वेरी की अवधि के लिए चयन सूची आइटम का नाम बदल देता है। उपनाम का उपयोगORDER BY
. में किया जा सकता है खंड, लेकिन क्वेरी में अन्य खंड नहीं ।
आपको एक आंतरिक क्वेरी का उपयोग करने की आवश्यकता होगी, कुछ इस तरह:
select "Id",
case "Id"
when 3
then 'foo'
else 'bar'
end AS "Results"
from (
select TABLEA.SomeIDNumber AS "Id",
from TABLEA
);