2011-02-17 95 views
0

我在SQL存儲過程中重寫MS Access數據庫中有幾個查詢。查詢有幾個過濾器應用於相同的字段。Sql在同一個字段上多個Where子句

select * 
from DT.SM_T_OCDetails 
where 
    (Rest1 <> 'S' Or Rest1 Is Null) 
    and (Rest2 <> 'S' Or Rest2 Is Null) 
    and (Rest3 <> 'S' Or Rest3 Is Null) 
    and (Rest4 <> 'S' Or Rest4 Is Null) 

有沒有更好的方式來編寫查詢的

(Rest1 <> 'S' Or Rest1 Is Null) 

一部分?我看着它凝聚在一起,但除非我做錯了,否則我不認爲這是有效的。

感謝

回答

2

使用聚結:

coalesce(Rest1,'NOT-S') <> 'S' 

雖然實際上我覺得你原來是清晰的。 「

+0

+1」雖然我其實認爲你的原稿更清晰。「 – UnkwnTech 2011-02-17 20:41:34