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

Sql LEFT OUTER JOIN WHERE क्लॉज के साथ

बाधा को अपने खंड पर ले जाएँ।

select *
from request r
left join requestStatus rs
on r.requestID = rs.requestID
--and status_id = 1
and status_id <> 2

आपके साथ क्या हो रहा है कि बाहरी जुड़ाव पहले किया जाता है। बाहरी जॉइन से आने वाली कोई भी पंक्तियाँ जिनमें मैच नहीं हैं, सभी कॉलम में नल होंगे। फिर आपका जहां क्लॉज लागू होता है, लेकिन 1 <> शून्य के बाद से, यह उस तरह काम नहीं करेगा जैसा आप चाहते हैं।

संपादित करें:पीयूष की टिप्पणी के आधार पर क्लॉज में बदलाव।



  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 सर्वर हिस्टोग्राम मोटे संरेखण का उपयोग करके अनुमान में शामिल हों

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

  3. इंटरफ़ेस प्रकार 'Microsoft.VisualStudio.OLE.Interop.IServiceProvider' में 'System.__ComObject' प्रकार की COM ऑब्जेक्ट डालने में असमर्थ

  4. एमएस एक्सेस कॉल एसक्यूएल सर्वर संग्रहीत प्रक्रिया

  5. तालिका मान पैरामीटर को कैसे बदलें