我正在尝试创建一个允许用户选择三个值中的一个或多个的参数。 0-99, 99-100& 200 +
这只能使用一个参数吗?如果是这样,SQL语法需要过滤数据集以及参数值中需要什么语法?
我知道我可以将BETWEEN函数与max和min的两个参数一起使用,但是希望将它放在一个
中我想我可以为每个参数选项分配值,然后检查这些值的总和,例如0-99的值为1,99-100的值为5,200 +的值为10。使用CASE或IF语句检查这些值并运行相应的SQL语句来选择所有或任何数字组合。但似乎SSRS查询设计者不喜欢IF或CASE使用@Parameter或参数来查看参数的结果!Name.Value
答案 0 :(得分:0)
你可以在你的ssrs中使用这个参数
@range
Display | Value
0-99 | 1
100 - 199 | 2
200+ | 3
在你的SQL中有类似的东西
SELECT *
FROM dbo.table a
WHERE ((@range = 1 AND a.value BETWEEN 0 AND 99)
OR (@range = 2 AND a.value BETWEEN 100 AND 199)
OR (@range = 3 AND a.value >= 200))
要完成3的组合,您需要使用三个参数
@range1
@range2
@range3
然后在SQL
中进行以下操作WHERE ((@range1 = 1 AND a.value BETWEEN 0 AND 99)
OR (@range2 = 1 AND a.value BETWEEN 100 AND 199)
OR (@range3 = 1 AND a.value >= 200))