可选的报告参数(有更好的方法吗?)

时间:2012-07-06 12:52:56

标签: sql database tsql reporting-services

我有一个包含4个参数的报告。我想不要求它们。问题是执行此操作的传统方法,创建16个OR / AND语句。如果我有10个不需要的参数,SOL语句就会失控。这有效,但有更简单的方法吗?

这就是我所拥有的:

主要数据集

select * 
from table 
where 
     table.one = @param1 OR @param1 IS NOT NULL 
     AND.....(etc.etc..)

@ param1,@ param2,@ param3,@ param4 :(默认值为null /空白)

Select some_column from any_table UNION SELECT '' as Nothing

1 个答案:

答案 0 :(得分:2)

我一直这样做的方式是

WHERE 
  col1 = isnull(@col1, col1) 
  and col2 = isnull(@col2, col2)
  ...etc

所有你拥有的东西,有一些语义修正。