0

我的问题是我无法通过报表生成器声明参数。

我收到以下错误:

错误 [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]必须声明标量变量“@param”。

所以我google了一下,发现可以通过输入符号“?”轻松解决。而不是“@parameter”,它确实解决了我的问题一段时间。

但现在我有另一个问题。我有一个select赞:

select * from table t where t.date = ? or t.date2 = ? or t.date3 = ?

所有三个“?”在哪里?是'2013-aug-01',但每个“?” 在报表生成器的参数部分创建一个新参数。

如何在所有三种情况下使用一个参数?

4

1 回答 1

0

试试这个

select * from table t where ? IN (t.date, t.date2, t.date3)

另一种解决方法是删除 SSRS 创建的两个变量并将查询更新为

select * from table t where t.date = @param1 or t.date2 = @param1 or t.date3 = @param1

另一种方法写你的查询

select * from table t where t.date = ? or t.date2 = ? or t.date3 = ?

让它创建 3 个变量。然后转到数据集,在数据集属性下转到参数部分。将 2 和 3 的参数值更新为 Parameter1。接下来进入参数部分并删除自动生成的Parameter2和Parameter3。

于 2013-08-12T16:12:56.243 回答