SSRS - 选择全部 - 错误

时间:2013-09-06 11:45:11

标签: reporting-services

我在SSRS 2008中的查询中有以下代码。

我添加了一个参数,该参数将根据类型组返回项目列表。

当我根据个人类型运行报告时结果是成功的,但是当我尝试向查询添加select all属性时,没有返回任何结果。

SELECT DISTINCT ItemTable.ItemType
FROM            TABLE INNER JOIN
                         Table.Column ON Table.column= Table.column INNER JOIN
                         Table.column ON Table.column = Table.Column
UNION
SELECT        '--All--' AS Expr1
WHERE        ItemTable.ItemType= @TypeParameter) OR
                         (ItemTable.ItemType= '--All--')

我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果没有数据集进行测试很难判断,但它可能应该是这样的:

SELECT DISTINCT ItemTable.ItemType
FROM            TABLE INNER JOIN
                         Table.Column ON Table.column= Table.column INNER JOIN
                         Table.column ON Table.column = Table.Column
UNION
SELECT        '--All--' AS Expr1
FROM ItemTable
WHERE        ItemTable.ItemType= @TypeParameter OR 
                         @TypeParameter= '--All--'

我已更改了最后一行 - 之前如果参数为--All--,则您只返回ItemType--All--的行(即可能没有)。

您需要针对参数本身运行最后一次检查;如果参数是--All--,那就是当你想要返回所有行时。

评论后修改

如果不运行示例数据,很难尝试调试代码。

可能是这样的:

SELECT * FROM
(
SELECT DISTINCT ItemTable.ItemType
FROM            TABLE INNER JOIN
                         Table.Column ON Table.column= Table.column INNER JOIN
                         Table.column ON Table.column = Table.Column
UNION
SELECT        '--All--' AS Expr1
) ItemTable
WHERE        ItemType= @TypeParameter OR
                         @TypeParameter= '--All--'