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

Oracle SQL - Tidak Ada - string tidak ada dalam daftar nilai

Untuk mendapatkan data yang Anda inginkan, saya sarankan menggunakan agregasi dengan having klausa:

Select SP.SPRIDEN_ID, SP.SPRIDEN_LAST_NAME, SP.SPRIDEN_FIRST_NAME, SR.SHRDGMR_SEQ_NO, 
       SR.SHRDGMR_PROGRAM
from spriden SP join
     SHRDGMR SR
     on SP.SPRIDEN_PIDM = SR.SHRDGMR_PIDM join
     SPRHOLD SH
     on sp.spriden_pidm = sh.sprhold_pidm
where SR.SHRDGMR_DEGS_CODE = 'PN' and
      SR.SHRDGMR_TERM_CODE_GRAD >= '201489' and
     sp.spriden_change_ind is NULL
group by SP.SPRIDEN_ID, SP.SPRIDEN_LAST_NAME, SP.SPRIDEN_FIRST_NAME, SR.SHRDGMR_SEQ_NO, 
         SR.SHRDGMR_PROGRAM
having sum(case when sh.sprhold_hldd_code = 'RH' then 1 else 0 end) = 0;

Anda memiliki dua masalah dengan pendekatan Anda. Yang pertama adalah bahwa subquery mengembalikan true atau false dan memengaruhi semua baris dalam kueri asli. Anda benar-benar menginginkan subquery yang berkorelasi. Tetapi, bahkan jika Anda melakukannya dengan benar, Anda akan mengembalikan baris duplikat untuk Mary. Ini menyelesaikan kedua masalah tersebut.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggunakan perbedaan dan penjumlahan keduanya di Oracle?

  2. 2 Cara Memeriksa Tingkat Kompatibilitas di Oracle (SQLcl &SQL*Plus)

  3. Tidak ada modul oci8 di phpinfo()

  4. Memigrasikan Database Oracle dari AWS EC2 ke AWS RDS, Bagian 2

  5. SQL Beberapa Kolom dalam klausa IN untuk dikonversi ke JPA