ऐसा करने के कई तरीके हैं (और मैं आपको उन्हें देखने के लिए प्रोत्साहित करता हूं क्योंकि वे आम तौर पर अधिक कुशल होंगे) लेकिन ऐसा करने का सबसे आसान तरीका तीसरे कॉलम के मान को परिभाषित करने के लिए गैर-सेट ऑपरेशन का उपयोग करना है:
SELECT
t1.previous
,t1.present
,(t1.present - t1.previous) as difference
FROM #TEMP1 t1
नोट, चयन की इस शैली को खराब अभ्यास माना जाता है क्योंकि इसे पहले दो स्तंभों के मूल्य को संशोधित करने के लिए क्वेरी योजना की आवश्यकता होती है जो तर्कसंगत रूप से तीसरे (एसक्यूएल आधारित सेट सिद्धांत का उल्लंघन) निर्धारित करने के लिए आवश्यक है। हालांकि यह अधिक जटिल है, यदि आप अपने उदाहरण में सूचीबद्ध मूल्यों के मुकाबले अधिक मूल्यांकन करने के लिए इसका उपयोग करने की योजना बना रहे हैं, तो मैं एक आवेदन खंड का उपयोग करके जांच करूँगा। http://technet.microsoft.com/en-us/library/ms175156(v=sql.105).aspx
स्रोत
2013-10-02 15:18:44