[英]Case statement with AND
我在查詢中使用年齡過濾器,我選擇了多個年齡,如下所示
未滿18歲
25歲以下
25-34
35-44
45-54
55-64
超過65
我會從mysql中選擇有關年齡的行,如下所示
select * from users where isactive=1
AND (DateOfBirth > (CURDATE() - INTERVAL $Age YEAR) OR $Age = 0)
現在我想在年齡上添加案例說明,如果$ age變量= 25-34,以便我可以選擇相關
或者任何人都可以告訴我如何寫和陳述像這樣的情況
case $age
when $age='25' AND (DateOfBirth > (CURDATE() - INTERVAL $Age YEAR) OR $Age = 0)
end case
這是完整查詢,我可以很好地用於搜索結果,只需要年齡過濾器和多個年齡以上的case語句,這里是query:
SELECT * FROM user WHERE IsDeleted!=1 AND (IsMale = $Gender OR $Gender = 2)
/// AT THIS POINT I NEED to add multple case to filter it by ages (after gender filter)
這應該工作正常:
CASE
WHEN $age ='25'
AND
(
($Age = 0)
OR
(DateOfBirth > (CURDATE() - INTERVAL $Age YEAR))
)
Then ...
END
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.