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. Не може да се извлече идентификатора на последния вмъкнат ред в Hibernate с помощта на Oracle

  2. Извикване на процедура на Oracle с PL/SQL тип запис от Spring JDBC

  3. Извличане на огромни данни от Oracle в Python

  4. Посочен е невалиден URL адрес на Oracle:OracleDataSource.makeURL

  5. SQL грешка:ORA-00922:липсваща или невалидна опция за създаване на съставен ключ