2017-02-21 54 views
1

怎麼辦如何做一個當X爲空然後'a','b','c'?

udfo在(案件時,基金爲null,則 'A', 'B', 'C' 其他 'd' 端)

,因爲你只能做:

udfo(資金爲空的情況下,'a'else'd'結束) ?

+0

說真的不清楚......再次閱讀你的問題。 – SriniV

+0

請** [編輯] **您的問題,並根據該數據添加一些示例數據和預期輸出。 [**格式化文本**](http://stackoverflow.com/help/formatting)請,[無屏幕截圖](http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload圖像-的代碼上那麼當-要價-A-問題/ 285557#285557) –

回答

1

使用OR和兩個相互排斥的條件:

SELECT * 
FROM your_table 
WHERE (fund IS NULL  AND udfo IN ('a', 'b', 'c')) 
OR  (fund IS NOT NULL AND udfo IN ('d')) 

你可以使用CASE聲明甚至實現它:

SELECT * 
FROM your_table 
WHERE CASE WHEN fund IS NULL AND udfo IN ('a', 'b', 'c') 
      THEN 1 
      WHEN fund IS NOT NULL AND udfo IN ('d') 
      THEN 1 
      ELSE 0 
     END = 1 

但我發現以前的版本更易於閱讀。

相關問題