我正在研究SSRS报告,该报告使用包含一些参数的存储过程.我遇到两个参数有问题,因为我想选择多个项目.
这是我所拥有的精简版本:
CREATE PROCEDURE [dbo].[uspMyStoredProcedure]
(@ReportProductSalesGroupID AS VARCHAR(MAX)
,@ReportProductFamilyID AS VARCHAR(MAX)
,@ReportStartDate AS DATETIME
,@ReportEndDate AS DATETIME)
--THE REST OF MY QUERY HERE WHICH PULLS ALL OF THE NEEDED COLUMNS
WHERE DateInvoicedID BETWEEN @ReportStartDate AND @ReportEndDate
AND ProductSalesGroupID IN (@ReportProductSalesGroupID)
AND ProductFamilyID IN (@ReportProductFamilyID)
Run Code Online (Sandbox Code Playgroud)
当我尝试只运行存储过程时,如果我只为1 @ReportProductSalesGroupID和1 输入值,则只返回值@ReportProductFamilyID.如果我尝试输入两个SalesGroupID和/或2 ProductFamilyID它没有错误,但我什么也没有返回.
-- Returns data
EXEC uspMyStoredProcedure 'G23', 'NOF', '7/1/2009', '7/31/2009'
-- Doesn't return data
EXEC uspMyStoredProcedure 'G23,G22', 'NOF,ALT', '7/1/2009', '7/31/2009'
Run Code Online (Sandbox Code Playgroud)
在SSRS中,我收到一条错误消息:
','附近的语法不正确
看来,分隔符包含在字符串中而不是分隔符中