将搜索案例转换为其他简单案例

Convert searched case to simple case else

我有以下代码

select * from weeks 
where case
when wet>1000 then wenumber=1
when wet>500 then wenumber=2
when wet>100 then wenumber=3
else wenumber= 22
end

它给了我两者的结果(当 > 1000 和其他时)
通过我的搜索,我了解到这是搜索案例,但是 我需要让它成为一个简单的案例
只要第一个条件为真,就停止评估 "else" 语句
任何帮助

您需要指定将哪一列与 CASE 的结果进行比较,例如:

SELECT *
FROM weeks 
WHERE wenumber = (CASE
                     WHEN wet > 1000 THEN 1
                     ELSE 22
                 END)

更好的方法

select *
from weeks 
where  ( wet>1000 and wenumber = 1 ) or wenumber = 22

试试这个:

SELECT * 
FROM weeks 
WHERE wenumber = CASE WHEN wet > 1000 THEN 1
                      WHEN wet BETWEEN 500 AND 1000 THEN 2
                      WHEN wet BETWEEN 100 AND 500 THEN 3
                      ELSE 22
                 END;