Reporting services SSRS—全选—错误

Reporting services SSRS—全选—错误,reporting-services,Reporting Services,我在SSRS 2008的查询中有以下代码 我添加了一个参数,该参数将返回基于类型组的项目列表 当我基于单个类型运行报告时,结果是成功的,但是当我尝试向查询添加selectall属性时,没有返回任何结果 SELECT DISTINCT ItemTable.ItemType FROM TABLE INNER JOIN Table.Column ON Table.column= Table.column INNER JOIN

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

我添加了一个参数,该参数将返回基于类型组的项目列表

当我基于单个类型运行报告时,结果是成功的,但是当我尝试向查询添加
selectall
属性时,没有返回任何结果

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--')

我做错了什么?

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

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--'
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--'
我已经更改了最后一行-之前,如果参数为
--All--
,则只返回
ItemType
--All--
的行(即可能没有)

您需要对参数本身运行最后一次检查;如果参数为
--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
FROM ItemTable
WHERE        ItemTable.ItemType= @TypeParameter OR 
                         @TypeParameter= '--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--'

@type参数返回三种类型:已删除、已处置和已售出。这是该表中唯一的类型,我指定的--all--I是一个选项,在我查看报告之前,它将与下拉列表中的其他3个选项一起显示。我希望有一个--all--选项,这样当我选择--all--时,它不应该只返回一种类型的记录,而是在指定日期之间的所有时间都关闭。我一直收到一个错误,说多部分标识符无法绑定到ITEMTable.ItemTypeI不知道示例查询在多大程度上代表了实际查询。例如,在示例查询中,第二个
SELECT
子句中没有表。我在回答中加了一张表格。如果您想提供示例数据集,请在中构建一个。对于第一个问题,我建议的更改应该可以解决您的问题-您明白我在回答中所说的吗?我的示例查询与我的实际查询相同,至于在第二个选择中添加表,我这样做了,但仍然得到相同的错误