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

Dynamically Change Where Clause Condition Based on Parameter Selection (SSRS)

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

我有一个参数下拉列表,允许用户 select 两个选项之一,如果他们 select 一个选项 where 子句的一部分应该改变,如果另一个是选择它会再次改变。我会 post 下面 :

如果选择master :

WHERE myId=1 AND myJournal IS NULL

如果选择偶像:

WHERE myId=1

所以基本上只是添加一个条件并根据参数 selection....

这看起来很简陋,我就是想不通。

感谢任何意见

怎么样

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',那么括号中的 OR 子句只会是 true 如果 myJournal IS NULL 因为 @Parameter = 'Idol' 总是 false .这意味着 OR 子句可以被认为等同于 myJournal IS NULL.

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

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

你想通过 ajax 电话完成吗?

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

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