Я работаю над сообщением 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)
Когда я пытаюсь просто запустить хранимую процедуру, я возвращаю только значения, если я ввожу только одно значение для @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'
В SSRS я получаю сообщение об ошибке:
Неверный синтаксис рядом с ','
Похоже, что разделитель ,
включается в строку вместо разделителя