sql - WHERE 子句中的 CASE - 传递多个值
问题描述
我需要在 where 子句中传递多个案例
SELECT *
FROM [dbname].[dbo].[tablename] CD,
[dbname].[dbo].Applications_N_Device_Master ADM
WHERE
CD.Product_ID = ADM.Product_ID
AND CD.Reg_Date BETWEEN @FromDate AND @ToDate
AND CD.CompType_ID = '2'
AND cd.closed IN (CASE
WHEN @Status = 'yes' OR 'NO'
THEN @status
ELSE 'YES', 'NO'
END)
ORDER BY
CD.Comp_ID DESC
else 'YES','NO'
我收到一个错误
解决方案
SELECT *
FROM [dbname].[dbo].[tablename] CD,
[dbname].[dbo].Applications_N_Device_Master ADM
WHERE CD.Product_ID = ADM.Product_ID
AND CD.Reg_Date BETWEEN @FromDate AND @ToDate
AND CD.CompType_ID='2'
AND (
(@status IN ('yes', 'NO') AND cd.closed = @status) OR
(@status NOT IN ('yes', 'NO') AND cd.closed IN ('YES', 'NO'))
)
ORDER BY
CD.Comp_ID DESC
您可能想要使用ISNULL
with@status
来处理空值。
推荐阅读
- z3 - Z3Py:如何以最有效的方式实现和约束位向量 LUT 的输入
- typescript - AWS lambda:如何在 serverless.ts 文件(Typescript)中使用 AWS ssm
- javascript - 如何将 navigator.geolocation 存储为变量的字符串?
- datadog - 无需重复计数即可分解 Datadog COUNT/GAUGE
- c - 讨论进程地址空间的字符串部分时提到的对齐方式是什么
- javascript - Top.gg 投票网络钩子
- python - 我通过 cython 创建了一个 .so 文件,但模块无法识别
- audio - 高效生成采样波形,没有混叠伪影
- javascript - 无法在 Visual Studio Code 中使用 PouchDB
- python - 程序在 tkinter 中运行时如何更新 gui?