[英]WHERE clause with nested multiple conditions
我想用WHERE
子句中的條件檢索數據。
這是我的表格,如下所示:
Name Location Age
----------------------
AAA Bhuj 24
BBB Mumbai 22
CCC Bhuj 18
DDD Bhuj 27
EEE Mumbai 26
我在WHERE
子句中的條件是:
if location = 'Bhuj' then Age>20 else if location = 'Mumbai' then Age>25
我正在嘗試這段代碼來實現這一點:
SELECT * FROM testing
WHERE
CASE Location WHEN 'Bhuj' THEN Age>20
WHEN 'Mumbai' THEN Age>25
END;
此代碼適用於 MySQL(請參閱此 SQLFiddle ),但不適用於 SQL Server(請參閱此 SQLFiddle )並給出以下錯誤:
'>' 附近的語法不正確。:SELECT * FROM testing WHERE case Location When 'Bhuj' then Age>20 When 'Mumbai' then Age>25 end
有什么建議嗎?
我認為這就是您要實現的目標
SELECT *
FROM testing
WHERE (Location = 'Bhuj' AND Age>20)
OR (Location = 'Mumbai' AND Age>25)
更新:
Case 語句返回一個值,其中不能有條件。
SELECT * FROM testing
WHERE
Age > case Location When 'Bhuj' then 20
When 'Mumbai' then 25
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.