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

शामिल होने का उलटा प्राप्त करें?

आप left outer join . का उपयोग कर सकते हैं सभी उपयोगकर्ताओं को हथियाने के लिए, फिर, किसी भी उपयोगकर्ता को उड़ा दें जहां एक समूह संलग्न है। निम्नलिखित क्वेरी आपको केवल उन उपयोगकर्ताओं की सूची देगी जहां कोई समूह नहीं होना चाहिए:

select
    u.*
from
    users u
    left outer join groupusers g on
        u.userid = g.userid
where
    g.userid is null

यदि आप उन सभी उपयोगकर्ताओं को खोजना चाहते हैं जो किसी विशेष समूह में नहीं हैं:

select
    u.*
from
    users u
    left outer join groupusers g on
        u.userid = g.userid
        and g.groupid = @GroupID
where
    g.userid is null

यह केवल होगा उस विशेष समूह के उपयोगकर्ताओं को बाहर करें। हर दूसरे उपयोगकर्ता को वापस कर दिया जाएगा। ऐसा इसलिए है क्योंकि groupid शर्त join . में की गई थी क्लॉज, जो शामिल पंक्तियों को सीमित करता है, वापस नहीं लौटाया जाता है, जो कि where है खंड करता है।



  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 सर्वर 2008 एक ही डेटाबेस में दो तालिकाओं की तुलना करता है और कॉलम बदल जाता है

  2. तीसरी तालिका को अद्यतन करने के लिए SQL सर्वर में मर्ज का उपयोग करना

  3. एक बाइनरी (1) फ़ील्ड या 8 बिट फ़ील्ड को क्वेरी करने के लिए तेज़?

  4. SQL सर्वर में टेक्स्ट डेटाटाइप कॉलम में 43679 से अधिक चार को सहेजने में सक्षम नहीं है

  5. SQL सर्वर में विभिन्न स्ट्रिंग प्रकारों के बीच अंतर?