sql - 嗨,我正在尝试 CASE WHEN,但它不适用于以下情况。它在执行时返回相同的语句
问题描述
当[实际周转时间]高于 TAT 值时,我希望它为 Over。
CASE(WHEN TAT = 3 AND [Actual turn around time] > 3 THEN 'Over'
WHEN TAT = 7 AND [Actual turn around time] > 7 THEN 'Over'
WHEN TAT = 14 AND [Actual turn around time] > 14 THEN 'OVER'
WHEN TAT = 28 AND [Actual turn around time] > 28 THEN 'Over'
WHEN TAT = 42 AND [Actual turn around time] > 42 THEN 'Over'
WHEN TAT = 52 AND [Actual turn around time] > 52 THEN 'Over'
WHEN TAT = 56 AND [Actual turn around time] > 56 THEN 'Over'
WHEN TAT = 62 AND [Actual turn around time] > 62 THEN 'Over'
WHEN TAT = 84 AND [Actual turn around time] > 84 THEN 'Over'
WHEN TAT = 112 AND [Actual turn around time] > 112 THEN 'Over')
ELSE 'TEST'
END AS 'ITAT'
解决方案
为什么不简化逻辑呢?
(CASE WHEN [Actual turn around time] > TAT THEN 'Over'
ELSE 'TEST'
END) AS ITAT
您的代码中有一个放错位置的括号。
如果您想将逻辑限制为 的特定值TAT
,则将条件扩展为:
(CASE WHEN [Actual turn around time] > TAT AND
TAT IN (3, 7, 14, . . . )
THEN 'Over'
ELSE 'TEST'
END) AS ITAT
推荐阅读
- java - Log4J2 自定义记录器
- instagram - 如何嵌入 instagram 轮播视频
- python - 绘图帮助 - Python
- jquery - 在不创建 ul 和 li 的情况下对 ul li 进行分组
- visual-studio - 使用带有参数的 Visual Studio“浏览方式”选项会为每个字符打开一个选项卡
- python - 将值从db替换为python中的html模板文件?
- jquery - Jquery使用'this'在div之外切换
- awk - 根据 FileB 中的查找/替换条件,在文件 A 的列中查找和替换值
- apache-spark - 使用 Spark v 1.6 的 SQLContext 访问 Hive 表时未找到表错误
- javascript - 停止 SVG 组事件传播