背景:對於SPRIDEN_id,sprhold_hldd_code可能具有一個或多個值或NO值。Oracle SQL - 不存在 - 字符串不存在於值列表中
,我需要選擇SP.SPRIDEN_ID,SP.SPRIDEN_LAST_NAME,SP.SPRIDEN_FIRST_NAME,SR.SHRDGMR_SEQ_NO,SR.SHRDGMR_PROGRAM
凡(sh.sprhold_hldd_code = 'RH')不存在。
到目前爲止,沒有記錄被返回。
我發現如果我在sh.sprhold_hldd_code ='Z'中放入一個不在可能值列表中的代碼(如Z),那麼它將返回結果。
DATA: (column names abbreviated)
SPRIDEN_ID SPRIDEN_LAST SPRIDEN_FIRST SHRDGMR_SEQ_NO SHRDGMR_PROGRAM sh.sprhold_hldd_code
100001 Smith Sue 1 ALHE RH
100001 Smith Sue 1 ALHE AA
100001 Smith Sue 1 ALHE BB
100005 Conners Tim 1 BUSN RH
100008 Occent Mary 1 MATH CC
100008 Occent Mary 1 MATH AA
Expected Results: Mary is the only record that does NOT have the RH code.
SPRIDEN_ID SPRIDEN_LAST_NAME SPRIDEN_FIRST_NAME SHRDGMR_SEQ_NO SHRDGMR_PROGRAM
100008 Occent Mary 1 MATH
雖然我沒有收到任何結果。
CODE:
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
and not exists
(select sh.sprhold_pidm
from sprhold sh
where sh.sprhold_hldd_code = 'RH')
是的!這正是我所期待的。我知道有類似於NVL2(表達式1,表達式2,表達式3)的東西,但不是前面的空值!謝謝你:-) – 2014-09-23 19:42:34