0

我正在使用 SQL Server 2005 Reporting Services 创建一个新报告。

此报告有 2 个可选参数可供用户选择或用户可以将其留空。两者都是下拉选择。

我面临的问题是,我将两个参数都设置为允许空值,但不允许空值。当我单击查看报告按钮而不选择任何过滤条件时,报告给我 0 条记录。但是,如果我为两个下拉选择都选择了一个值,报告会给我结果。

@Packagevarchar(100)@Planttinyiny

我是这样写WHERE子句的。请帮助并非常感谢。

WHERE (@Package ='' OR PACKAGE_TYPE LIKE '%' + @Package + '%') AND
 (@Plant IS NULL OR PLANT_ID = @Plant )
4

1 回答 1

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 )
于 2013-03-21T09:31:16.817 回答