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

क्या मैं जॉइन कंडीशन में केस स्टेटमेंट का उपयोग कर सकता हूं?

एक CASE एक्सप्रेशन THEN . से एक मान लौटाता है खंड का हिस्सा। आप इसे इस प्रकार उपयोग कर सकते हैं:

SELECT  * 
FROM    sys.indexes i 
    JOIN sys.partitions p 
        ON i.index_id = p.index_id  
    JOIN sys.allocation_units a 
        ON CASE 
           WHEN a.type IN (1, 3) AND a.container_id = p.hobt_id THEN 1
           WHEN a.type IN (2) AND a.container_id = p.partition_id THEN 1
           ELSE 0
           END = 1

ध्यान दें कि आपको लौटाए गए मूल्य के साथ कुछ करने की ज़रूरत है, उदा। इसकी तुलना 1 से करें। आपके कथन ने असाइनमेंट के मूल्य को वापस करने का प्रयास किया है या समानता के लिए परीक्षण किया है, जिनमें से कोई भी CASE के संदर्भ में कोई मतलब नहीं है। /THEN खंड। (यदि BOOLEAN एक डेटाटाइप था तो समानता के लिए परीक्षण समझ में आएगा।)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T-SQL का उपयोग कर SQL सर्वर में किसी तालिका के लिए स्तंभ विशेषाधिकार प्राप्त करें:sp_column_privileges

  2. SYSDATETIMEOFFSET () SQL सर्वर में उदाहरण (T-SQL)

  3. एसक्यूएल आगामी जन्मदिन का चयन करें

  4. SQL सर्वर में टॉप क्लॉज का उपयोग करते समय अंतिम स्थान के लिए टाई करने वाले परिणाम कैसे शामिल करें

  5. दुनिया में सबसे लोकप्रिय डेटाबेस प्रबंधन प्रणाली