mysql - 如何在 WHERE 子句中使用“IN”和“CASE 语句”?
问题描述
下面是我的 MYSQL 查询
select * from `ordermaster` where OrderStatus in (case when 1= 0 then OrderStatus else ("Completed","Cancelled") end)
如您所见,第一个条件是全部,下一个条件是特定的。
如果满足条件 1,那么我想返回整个数据 wrt orderstatus 但如果满足条件,那么我只想要 OrderStatus 为“已完成”或“已取消”的记录,但这会产生问题。我可以直接使用“IN”,但不能使用“CASE”语句。
谢谢,拉胡尔
解决方案
SELECT ordermaster
CASE
WHEN OrderStatus = 1 THEN 'Completed'
WHEN OrderStatus = 0 THEN 'Cancelled'
END AS STATUS
FROM ordermaster;
推荐阅读
- javascript - 从 javascript 数组中删除所有虚假值,包括 NaN 但不包括 0 和空字符串
- sql - Postgres 连接并计算多个关系表
- javascript - 如何使用 Mapbox GL JS 中另一个 json 的数据条件设置样式?
- algorithm - 检查一个整数是否是另一个整数的幂?
- flutter - BottomBar 项目未对齐颤动
- javascript - 避免在 contentEditable 中隐藏闪烁的光标
- c# - 使用 asp.net 程序查询 sql 中的日期
- python - TypeError:“numpy.ndarray”对象不可调用,用于比较两行
- python - 在 keras 中训练 LSTM 模型时,损失值到底给出了什么?
- r - 创建表示数据框的列,在 R 中切成 20 个偶数组