Sql 如何将WHERE子句中的CASE语句转换成一个多选参数?

Sql 如何将WHERE子句中的CASE语句转换成一个多选参数?,sql,reporting-services,parameters,Sql,Reporting Services,Parameters,我需要能够选择所有这3个当我把这变成一个报告。我知道第三个选项有点傻,但客户希望能够单击所有3个选项 AND CASE WHEN @Display IN (1) AND (POPGT.LimitedQty >= 1 OR POPDX.LimitedQty >= 1) THEN 1 WHEN @Display IN (2) AND (POPGT.NewSingleOrderQty >= 1 OR POPDX.NewSingleOrderQty >= 1) THEN

我需要能够选择所有这3个当我把这变成一个报告。我知道第三个选项有点傻,但客户希望能够单击所有3个选项

AND CASE WHEN @Display IN (1) AND (POPGT.LimitedQty >= 1 OR POPDX.LimitedQty >= 1) THEN 1
     WHEN @Display IN (2) AND (POPGT.NewSingleOrderQty >= 1 OR POPDX.NewSingleOrderQty >= 1) THEN 1
     WHEN @Display IN (0) THEN 1 END = 1

不要使用
大小写
表达式。大概是这样的:

(@Display IN ('1', '*') AND (POPGT.LimitedQty >= 1 OR POPDX.LimitedQty >= 1)) OR
(@Display IN ('2', '*') AND (POPGT.NewSingleOrderQty >= 1 OR POPDX.NewSingleOrderQty >= 1)) OR
(@Display IN ('0', '*'))

不要使用
大小写
表达式。大概是这样的:

(@Display IN ('1', '*') AND (POPGT.LimitedQty >= 1 OR POPDX.LimitedQty >= 1)) OR
(@Display IN ('2', '*') AND (POPGT.NewSingleOrderQty >= 1 OR POPDX.NewSingleOrderQty >= 1)) OR
(@Display IN ('0', '*'))

WHERE
子句中使用
/
结构而不是
case
表达式通常更好。在
WHERE
子句中使用
/
结构而不是
case
表达式通常更好。我让它按照我希望的方式工作在(@Display)和(POPGT.LimitedQty>=1或POPDX.LimitedQty>=1)或(@Display)和(POPGT.NewSingleOrderQty>=1或POPDX.NewSingleOrderQty>=1)中切换一点(@Display)或(@Display)中切换一点(@Display)和(@Display)中的('1'),我让它按照我想要的方式工作(POPGT.LimitedQty>=1或POPDX.LimitedQty>=1)或(@Display)中的('2'和(@Display)中的('0')或(@Display))