如何在where子句中使用“in”和“case statement”?

zf2sa74q  于 2023-11-20  发布在  Mysql
关注(0)|答案(1)|浏览(490)

下面是我的mysql查询

select * from `ordermaster` where OrderStatus in (case when 1= 0 then OrderStatus else ("Completed","Cancelled") end)

如您所见,第一个条件是全部,下一个条件是具体的。
如果条件1得到满足,那么我想返回整个数据w.r.t orderstatus,但是如果条件得到满足,那么我只想要orderstatus为“completed”或“cancelled”的记录,但这是一个问题。我可以直接使用“in”,但不能与“case”语句一起使用。
谢谢,拉胡尔

2g32fytz

2g32fytz1#

SELECT ordermaster
    CASE 
        WHEN OrderStatus = 1 THEN 'Completed'
        WHEN OrderStatus = 0 THEN 'Cancelled'
    END AS STATUS 
FROM ordermaster;

相关问题