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

मैं एक ही चयन में कई बार गणना की गई अभिव्यक्ति को दोहराने से कैसे बच सकता हूं?

आप क्रॉस अप्लाई का उपयोग कर सकते हैं

SELECT T2.[ADD],
       T2.[ADD]*2,
       T2.[ADD]/2
FROM @T AS T1
  CROSS APPLY (SELECT T1.NUM1+T1.NUM2) AS T2([ADD])

या एक सीटीई

WITH C AS
(
  SELECT NUM1+NUM2 AS [ADD]
  FROM @T
)
SELECT [ADD],
       [ADD]*2,
       [ADD]/2
FROM C

या एक सबक्वेरी (जिसे व्युत्पन्न तालिका के रूप में भी जाना जाता है)

SELECT T.[ADD],
       T.[ADD]*2,
       T.[ADD]/2
FROM (
       SELECT NUM1+NUM2 AS [ADD]
       FROM @T
     ) AS T

कॉलम उपनाम का उपयोग उसी फ़ील्ड सूची में करना संभव नहीं है जैसा कि घोषित किया गया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में विदेशी कुंजी बाधा के साथ तालिका कैसे बनाएं - SQL सर्वर / TSQL ट्यूटोरियल भाग 66

  2. एकाधिक तालिकाओं के साथ BINARY_CHECKSUM(*) का उपयोग करना

  3. 8053 बाइट्स से ऊपर की पंक्ति डालने से त्रुटि क्यों नहीं हो रही है, क्योंकि अधिकतम अनुमत पंक्ति सीमा 8060 है

  4. SQL क्वेरी क्लाइंट के 1 दिन के अंतराल के लिए औसत मान खींचने के लिए

  5. SQL सर्वर में डेटा कैसे स्टोर किया जाता है?