Reporting services 我需要在SQL Server 2008r2中使用';其中,(@var)';

Reporting services 我需要在SQL Server 2008r2中使用';其中,(@var)';,reporting-services,sql-server-2008-r2,in-clause,Reporting Services,Sql Server 2008 R2,In Clause,我正在编写一份SSRS报告,该报告将包含一个由SSRS下拉框生成的用户名列表,其中打开了multiselect。我试图在提交报告之前测试我的代码,但它不起作用。我正在做的示例代码: declare @userList varchar(100); set @userList = 'domain\user1, domain\user2, domain\user3, domain\user4'; select count(column) from table where

我正在编写一份SSRS报告,该报告将包含一个由SSRS下拉框生成的用户名列表,其中打开了multiselect。我试图在提交报告之前测试我的代码,但它不起作用。我正在做的示例代码:

declare @userList     varchar(100);

set @userList = 'domain\user1, domain\user2, domain\user3, domain\user4';

select 
    count(column)
from 
    table
where 
    userName in (@userList)
我也试过:

set @userList = '''domain\user1'',''domain\user2'',''domain\user3'', ''domain\user4''';
无济于事


有什么想法吗?

当您说您正在尝试在将SQL放入报表之前测试它时,这是否意味着您正在尝试在SQL Server Management Studio中运行它?如果是这样,那么简单的答案是你不能像那样测试多值参数。TSQL不支持它。将测试变量设置为单个字符串值,以便使用SSMS进行测试。

谢谢。你知道SSRS是怎么做到的吗?它是否像游标一样在多个值之间循环?SSRS在查询文本中进行一些字符串替换,它不使用游标或循环。