【发布时间】:2014-11-09 10:30:39
【问题描述】:
我收到错误消息“在预期条件的上下文中指定的非布尔类型的表达式,靠近 ','” 运行 ssrs 2008 r2 报告时。 数据集中嵌入的sql是:
IF @reportID <> 0
BEGIN
SELECT 'Students report 1' AS selectRptName, 1 AS rptNumValue
UNION
SELECT 'Students report 2', 2
UNION
SELECT 'Students report 3', 3
UNION
SELECT 'Students report 4', 4
UNION
SELECT 'Students report 5', 5
ORDER BY selectRptName
END
当我声明 @reportID 时,sql 在管理工作室中运行良好。
我注释掉'IF @reportID <> 0',sql 运行良好。
@reportID 是传递给适用数据集的参数值。
@reportID 可以有多个值。
因此,您能告诉我 sql 和/或告诉我需要做什么来为我解决问题吗?
【问题讨论】:
-
@reportID可以有多个值是什么意思?你的意思是它的多值参数吗?此外,您不能在 SSRS 查询构建器中使用IF..ELSE语句。 -
@reportID 可以有 0、1 或 200 个值。我正在考虑调用一个拆分参数值的函数。我将如何设置 sql?
-
@M.Ali SQL 有一个
IF条件,它在 SSRS 数据集中运行良好。 msdn.microsoft.com/en-au/library/ms182717.aspx
标签: tsql reporting-services ssrs-2008-r2