我正在使用SQL Server 2005 Reporting Services创建新报告。
此报告有2个可选参数,可供用户选择,或者用户可将其留空。两者都是下拉选择。
我面临的问题是,我将两个参数都设置为Allow Null Value,但不允许空值。当我单击“查看报告”按钮而不选择任何过滤条件时,报告会给我0条记录。但如果我为两个下拉选择选择了一个值,报告会给我结果。
@Package
为varchar(100)
,@Plant
为tinyiny
。
我以这种方式编写WHERE
子句。
请帮忙,非常感谢。
WHERE (@Package ='' OR PACKAGE_TYPE LIKE '%' + @Package + '%') AND
(@Plant IS NULL OR PLANT_ID = @Plant )
答案 0 :(得分:0)
因此,如果未选择过滤条件,则@Package
和@Plant
都为NULL
?
在上面的WHERE
条款中,您只处理@Plant
NULL
个值。
您还需要检查NULL
@Package
,例如:
WHERE (@Package IS NULL OR @Package ='' OR PACKAGE_TYPE LIKE '%' + @Package + '%') AND
(@Plant IS NULL OR PLANT_ID = @Plant )