2014-03-27 34 views
1

我正在編寫一個SSRS報告,它將輸入由SSRS下拉列表生成的用戶名列表打開了多選按鈕。我試圖在放入報告之前測試我的代碼,但它不起作用。我在做什麼的示例代碼:我需要在SQL Server 2008r2中執行select語句,其中'where ColumnName in(@var)'

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

無濟於事。

任何想法?

回答

1

當你說你試圖在將SQL放入報表之前測試SQL,這是否意味着你試圖在SQL Server Management Studio中運行它?如果是這樣,那麼簡單的答案是你不能像這樣測試多值參數。 TSQL不支持它。將您的測試變量設置爲單個字符串值,以便使用SSMS進行測試。

+0

謝謝。你知道SSRS是如何做到的嗎?它是否像遊標一樣循環多個值? –

+0

SSRS在查詢文本中執行了一些字符串替換,它不使用遊標或循環。 – Nathan

相關問題