sql >> データベース >  >> RDS >> Oracle

OracleSQL-存在しません-文字列が値のリストに存在しません

    必要なデータを取得するには、havingで集計を使用することをお勧めします 条項:

    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;
    

    アプローチには2つの問題があります。 1つ目は、サブクエリがtrueまたはfalseを返し、元のクエリのすべての行に影響を与えることです。相関サブクエリが本当に必要です。しかし、それが正しかったとしても、メアリーの重複行を返すことになります。これにより、これら両方の問題が解決されます。



    1. Laravel Eloquentが管理するタイムスタンプ(created_atおよびupdated_at)のタイムゾーンを更新するにはどうすればよいですか?

    2. JavaFXチャートAPIの操作

    3. MyISAMエンジンテーブルリレーション(MySQL)

    4. 更新のためのMySqlUNION