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

क्वेरी में नहीं... विषम परिणाम

इसे पढ़ें:http://asktom.oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:442029737684

मैं जो समझता हूं, उसके लिए आपका cudsubq.new_user_id NULL हो सकता है भले ही दोनों टेबल user_id . से जुड़े हों , इसलिए, आपको NOT IN . का उपयोग करके परिणाम प्राप्त नहीं होंगे ऑपरेटर जब सबसेट में NULL होता है मान . लेख में उदाहरण पर विचार करें:

select * from dual where dummy not in ( NULL )

यह कोई रिकॉर्ड नहीं देता है। NOT EXISTS का उपयोग करके देखें ऑपरेटर या किसी अन्य प्रकार का जुड़ाव। यहाँ एक अच्छा स्रोत है:http ://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

और आपको चौथा उदाहरण चाहिए:

SELECT COUNT(descr.user_id)
FROM 
    user_profile prof
    LEFT OUTER JOIN user_desc descr
        ON prof.user_id = descr.user_id 
WHERE descr.new_user_id IS NULL
    OR descr.new_user_id != prof.user_id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL या Oracle में महीने के नाम से ऑर्डर कैसे करें

  2. RESULT_CACHE के लिए खाली RELIES_ON

  3. Oracle में जावा संग्रहीत कार्यविधि के लिए क्लासपाथ सेट करना

  4. एसक्यूएल:पार्स कॉमा-सीमांकित स्ट्रिंग और शामिल होने के रूप में उपयोग करें

  5. SQL दिनांकों में पारित 2 के बीच कार्य दिवसों की संख्या वापस करने के लिए