以下是我的MYSQL查询

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


如您所见,第一个条件是ALL,下一个条件是Specific。

如果满足条件1,则我想返回w.r.t orderstatus的整个数据,但是如果满足条件,则我只想要OrderStatus为“ Completed”或“ Cancelled”的记录,但这会产生问题。我可以直接使用“ IN”,但不能与“ CASE”语句一起使用。

谢谢,
拉胡尔

最佳答案

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

关于mysql - 如何在WHERE子句中将“IN”与“CASE语句”一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53685157/

10-11 02:58