आप अन्य स्तंभों की गणना करने के लिए चयन खंड में परिभाषित उपनामों का उपयोग नहीं कर सकते हैं जो समान चयन खंड में भी हैं। आपके पास कम से कम तीन विकल्प हैं:
-
हर बार जब आपको इसका उपयोग करने की आवश्यकता हो तो सबक्वेरी दोहराएं। इसका नुकसान यह है कि आपको बहुत सारे कोड दोहराने की आवश्यकता होगी। चूंकि आपकी सबक्वेरी लंबी और जटिल हैं, इसलिए यह एक अवांछनीय विकल्प है।
-
एक सबक्वेरी और एक बाहरी क्वेरी का प्रयोग करें।
SELECT *, (subtotal - payment) AS balance FROM ( SELECT ..., (...) AS subtotal, (...) AS payment FROM ... ) T1
-
उप-चयनों के बजाय जॉइन का प्रयोग करें। यह आपकी स्थिति के लिए थोड़ा अधिक जटिल है, लेकिन यह प्रदर्शन के लिए बेहतर होगा यदि आपको कभी भी एक से अधिक पंक्ति लाने की आवश्यकता हो।