Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

TIDAK DALAM permintaan... hasil aneh

Baca ini:http://asktom.Oracle.com/pls/asktom/f?p=100:11:0::NO::P11_QUESTION_ID:442029737684

Untuk apa yang saya pahami, cudsubq.new_user_id Anda bisa NULL meskipun kedua tabel digabungkan dengan user_id , jadi, Anda tidak akan mendapatkan hasil menggunakan NOT IN operator ketika subset berisi NULL nilai . Perhatikan contoh di artikel:

select * from dual where dummy not in ( NULL )

Ini tidak mengembalikan catatan. Coba gunakan NOT EXISTS operator atau hanya jenis lain dari bergabung. Ini adalah sumber yang bagus:http ://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

Dan yang Anda butuhkan adalah contoh keempat:

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. ClassCastException:org.jboss.jca.adapters.jdbc.jdk6.WrappedPreparedStatementJDK6 tidak dapat dilemparkan ke OraclePreparedStatement

  2. Cara memperbaiki kesalahan "Tidak ada pemetaan Dialek untuk tipe JDBC:-1" di java

  3. Oracle 12.2 - Penggantian fitur NOPARTITION

  4. Driver ODP.NET terkelola tidak muncul di dialog Sumber Data

  5. PERAMAL. Otentikasi dengan LDAP selalu mengembalikan -16