2013-04-17 72 views
-3

你好所有我在我的WHERE語句有一點問題。下面我需要確保用戶有c.Options ='TA',但也要確保它忽略(不包括)c.Options ='PT'...下面是我目前正在使用的...問題與我的WHERE子句:mulitle條件問題

的C是覆蓋

WHERE 
    c.Options = 'TA' AND c.Options NOT LIKE '%PT%'            

感謝您的幫助!我很感激!

+0

問題是什麼? –

+4

第二個過濾器是不需要的。如果選項='TA',那麼第二個過濾器永遠不會是真的。 – Limey

+1

爲什麼你需要'AND'條件而第一個條件足以省略東西? – shahkalpesh

回答

2

您需要聚合此邏輯:

select c.user 
from c 
group by c.user 
having sum(case when c.options = 'TA' then 1 else 0 end) > 0 and 
     sum(case when c.options = 'PT' then 1 else 0 end) = 0 

第一部分說,有一個「TA」選項。第二個說沒有「PT」選項。

+0

謝謝Gordon,那樣做!我必須等待接受! – Codexer