基于参数选择(SSRS)动态更改子句条件

时间:2015-07-28 00:46:24

标签: sql-server reporting-services where

我已经建立了一份SSRS报告,但我无法克服一个障碍。这可能很简单,我只是不确定如何解决这个问题。

我有一个参数下拉列表,允许用户选择两个选项中的一个,如果他们选择一个选项,则where子句的一部分应该更改,如果选择另一个选项,它将再次更改。我将在下面发布:

如果选择了主人:

WHERE myId=1 AND myJournal IS NULL

如果选择了偶像:

WHERE myId=1

所以基本上只是添加条件并根据参数选择采取条件....

这看起来非常简陋,我似乎无法弄明白。

感谢任何输入

2 个答案:

答案 0 :(得分:0)

怎么样

WHERE myId=1 AND (myJournal IS NULL OR @Parameter = 'Idol')

假设您的参数值设置为偶然当然

这种方式的工作原理是:

如果@Parameter ='Idol',那么无论myJournal值如何,括号中的OR子句将始终为true。这会将整个WHERE子句减少到WHERE myId=1 AND true,这与WHERE myId=1相同。

但是,如果@Parameter ='master',那么如果true myJournal IS NULL始终为@Parameter = 'Idol',则括号中的OR子句将仅为false。这意味着OR子句可以被认为等同于myJournal IS NULL

这会将整个WHERE子句减少到WHERE myId=1 AND myJournal IS NULL,这就是你所追求的。

答案 1 :(得分:0)

您不提供有关执行查询的方式的任何信息。

你想用ajax调用吗?

在这种情况下,你应该有一个selectcombo,它将设置所需的查询字符串,并将ajax请求传递给将查询数据库的php文件。

如果您需要一些帮助,我们需要了解您要实现的目标的更多信息。