【发布时间】:2012-10-14 05:54:47
【问题描述】:
我在 Reporting Services 2008 中创建数据集时遇到问题。这是我要使用的查询(通用化以供公众使用):
Declare @PersonID as int
set @PersonID = (select top 1 personID from People where name = @PersonName)
select (some columns)
from [otherTable]
where personID = @PersonID
我只有一个输入参数:@PersonName。然而,Studio 2008 似乎认为@PersonID 也 需要在“定义查询参数”窗口中的值。所以当我尝试只为@PersonName 输入一个值时,它会给我“这个变量已经被定义”。
我传递@PersonName 是因为我需要显示一个人类可读的人员列表,以便从下拉列表中选择,作为报告的唯一面向用户的参数。我意识到我可以做一个子查询并忘记上面示例中的变量,但是我的实际查询更大/更丑,而且我不能准确地将索引添加到数据表中,所以我想限制表扫描。
【问题讨论】: