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

अन्य चयन में COLUMN नाम के रूप में SELECT परिणाम का उपयोग करें

ऐसा करने के लिए आपको डायनेमिक SQL की आवश्यकता नहीं है (और यदि संभव हो तो डायनेमिक SQL से बचना चाहिए)। इसके बजाय आप एक केस स्टेटमेंट का उपयोग कर सकते हैं। आप इसे एक ही कथन के साथ कर सकते हैं लेकिन मैंने इसे प्रदर्शन उद्देश्यों के लिए विभाजित कर दिया है:

DECLARE @brand VARCHAR(100) = (SELECT brand FROM articles a WHERE a.id='12345678')

SELECT CASE @brand
           WHEN 'BRAND_A' THEN BRAND_A_PRICE
           WHEN 'BRAND_B' THEN BRAND_B_PRICE
           WHEN 'BRAND_C' THEN BRAND_C_PRICE
           ELSE 0 END AS PRICE
FROM prices
WHERE id='12345678'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जांचें कि क्या तालिका में OBJECTPROPERTY () के साथ SQL सर्वर में टाइमस्टैम्प कॉलम है

  2. SQL सर्वर में डिफ़ॉल्ट मान संशोधित करें

  3. .bak फ़ाइल का उपयोग करके MS SQL 2012 से MS SQL 2008 में डेटा को कैसे पुनर्स्थापित करें। क्या यह संभव है?

  4. C++ ODBC बाउंड पैरामीटर्स का उपयोग करके VARCHAR की लंबाई पूर्व-निर्धारित करना

  5. एसक्यूएल सर्वर 2005 में सिंगल और डबल कोट्स क्वेरी डालें