2014-03-26 60 views
1

嘗試使用此代碼存在的語句,如果值存在,那麼就返回其他值

AND (EXISTS (SELECT '1' FROM AMRPUSR 
     WHERE AMRPUSR_USRC_CODE = 'BKGROUND' 
     AND AMRPUSR_USRC_CODE <> 'BUSDESC' 
     AND AMRPUSR_USRC_CODE <> 'EMPHIS' 
     AND AMRPUSR_USRC_CODE <> 'FAMINFO' 
     AND AMRPUSR_USRC_CODE <> 'GIFTOTHR' 
     AND AMRPUSR_USRC_CODE <> 'PERSAFFIL' 
     AND AMRPUSR_USRC_CODE <> 'PROFAFFIL')) 

我想說,如果再值'BKGROUND'存在不告訴我它下面列出的其他值, 但如果'BKGROUND'不存在,然後列出它下面的所有內容...

任何幫助嗎?

回答

0

聽起來像你想要的是一個案例陳述。

SELECT 
    CASE 
     WHEN AMRP_USRC_CODE!='BACKGROUND THEN AMRP_USR_USRC_CODE 
    END AS AMRP_USR_USRC_CODE, 
    ... 
FROM *YOUR_TABLE*; 
+0

您能更具描述性嗎? – user2169875

+0

哪部分你有問題?基本思想是爲每個希望列出的值使用一個case語句。這不會給你想要的結果嗎?你正在嘗試實現它嗎? – nick

相關問題