2016-07-28 67 views
0

我有很多列的大表,特別是我需要使用的三個表:CaseGroup,CaseStatus和CaseDesc。我試圖根據打開的CaseStatus,多個CaseGroups,然後在一個病例組上只有亂七八糟的CaseDesc來提取數據。這裏是我已經有的簡單部分:在一個語句中的額外過濾在WHERE子句

Select CaseID, CaseStatus, CaseGroup, CaseDesc 
FROM CodeEnforcement 
WHERE CaseStatus = 'Open' AND CaseGroup IN ('ProStd', 'San', 'Tow', 'Weeds') 

我希望所有CaseDesc for ProStd,Tow和Weeds。但是,對於我只想要LIKE '%littering%'。我該如何去做到這一點?我必須加入兩條select語句嗎?

回答

0

您可以使用下面的查詢:

Select CaseID, CaseStatus, CaseGroup, CaseDesc 
FROM CodeEnforcement 
WHERE CaseStatus = 'Open' AND 
     (CaseGroup IN ('ProStd', 'Tow', 'Weeds') OR 
     (CaseGroup = 'San' AND CaseDesc LIKE '%littering%')) 
0

您應該添加or你的條件。像這樣的東西。

Select CaseID, CaseStatus, CaseGroup, CaseDesc 
FROM CodeEnforcement 
WHERE CaseStatus = 'Open' AND (CaseGroup IN ('ProStd', 'Tow', 'Weeds') 
or (CaseGroup = 'San'and CaseDesc like '%littering%')) --make sure you use parentheses