我在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--')
我做错了什么?
答案 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--'