[英]MySQL: How to achieve multiple conditions in CASE WHEN THEN
我有以下查詢:
SELECT users_name, first_name, last_name,
(CASE
WHEN flag1==1 AND flag2==1 AND flag3==0 THEN 'Active'
WHEN flag1==0 AND flag2==1 AND flag3==0 THEN 'Deactive'
WHEN flag1==0 AND flag2==0 AND flag3==0 THEN 'Disabled'
ELSE ''
END) as Status FROM `users`
在定義狀態之前,我有多個標志條件,但是在運行上面的查詢時,它給了我。
Syntax error near==1
實現它的正確方法是什么?
預期結果:
用戶名|名字|姓|地位
亞歷克斯| 亞歷克斯| 標記| 活性
四月| 四月| 標記| 去活
在SQL中,比較運算符為=
因此請使用=
(而不是==
):
SELECT users_name, first_name, last_name,
(CASE
WHEN flag1 = 1 AND flag2 = 1 AND flag3 = 0 THEN 'Active'
WHEN flag1 = 0 AND flag2 = 1 AND flag3 = 0 THEN 'Deactive'
WHEN flag1 = 0 AND flag2 = 0 AND flag3 = 0 THEN 'Disabled'
ELSE ''
END) as Status FROM `users`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.