Sql-Server
帶有 Like 語句的 SSRS 參數的多個值
在 SSRS 中,我有一個名為的參數
Comment
,我將其設置為Allow multiple values
並為其指定可用值。
我的問題是,如果我選擇一個值,我會得到結果,但如果我選擇多個,我會得到一個錯誤。
問題可能是因為我這樣寫了我的 SQL 語句:
dbo.tbl_Status.Comments LIKE ('%' + @Comment + '%')
注意:我需要使用
LIKE
而不是IN
您需要在表達式中更改查詢並使用
JOIN
參數值上的表達式連接條件。例如,如果您基於 Adventureworks 2014 數據庫創建報告,您可以添加如下參數:
使用表中出現的一些值:
如果您隨後輸入數據集的表達式而不是這樣的查詢:
="SELECT " & "[NationalIDNumber]," & "[JobTitle]" &"FROM [AdventureWorks2014].[HumanResources].[Employee]" &"WHERE [JobTitle] LIKE '%" & Join(Parameters!jobtitle.Label, "%' OR [JobTitle] LIKE '%") & "%'"
選擇單個值時,它會產生您想要的結果:
因為連接的表達式是這樣的:
SELECT [NationalIDNumber] ,[JobTitle] FROM [AdventureWorks2014].[HumanResources].[Employee] WHERE [JobTitle] LIKE '%Engineer%'
當您選擇多個值時它也可以工作:
因為表達式會導致:
SELECT [NationalIDNumber] ,[JobTitle] FROM [AdventureWorks2014].[HumanResources].[Employee] WHERE [JobTitle] LIKE '%Engineer%' OR [JobTitle] LIKE '%Marketing%'
完整的 .RDL 文件可以在Github Gist上找到,並且需要本地 Adventureworks 2014 數據庫。