【发布时间】:2019-05-12 09:24:35
【问题描述】:
我有一个案例,我必须选择:
- 所有记录
- 取消的记录
- 打开 = 所有未取消的记录
我正在尝试类似:
SELECT * FROM Status WHERE Description =
CASE
WHEN @Status = 'Cancelled' THEN 'Cancelled'
WHEN @Status = 'Open' THEN **NOT Cancelled**
ELSE Description
END
“未取消”条件如何写?
谢谢。
【问题讨论】:
-
THEN 'NOT Cancelled' -
您以一种似乎不兼容的方式将 CASE 的逻辑与 WHERE 逻辑混合在一起。您最好将其纯粹作为 WHERE 逻辑弄清楚,如下所示
-
快速提问:如果 WHEN 包括 open 和 not open,什么是 ELSE?
标签: sql sql-server tsql case where