可能重复:
在 where 子句中的 T-SQL 中使用 CASE?
如何最好地将具有多个值的报表参数添加到多个报表中?
我正在使用 SSMS 2008 R2 开发一个查询,该查询将返回如下记录。我有这个数据集的一个参数,可以是一个值或多个值。但棘手的部分是单值和多值都是同一个列表的一部分:A = 多值 B、C、D = 单值
因此,如果选择 A,则 A 包括所有 3 个值:B、C、D。但如果选择 B,则应仅显示 B 记录。
在我的存储过程中处理这个问题的最佳方法是什么?
到目前为止,我创建了一个永久表来存储 B、C、D 的信息。现在我想弄清楚如果选择了 A,如何在 B、C、D 中加入。我应该在 WHERE 子句中使用 CASE 语句吗?某种特殊的JOIN?CTE?