Как передать несколько значений одному параметру в хранимой процедуре
я использую SSRS для создания отчетов и выполнения хранимой процедуры для генерации данных для моих отчетов
DECLARE @return_value int
EXEC @return_value = [dbo].[MYREPORT]
@ComparePeriod = 'Daily',
@OverrideCompareDate = NULL,
@PortfolioId = '5,6',
@OverrideStartDate = NULL,
@NewPositionsOnly = NULL,
@SourceID = 13
SELECT 'Return Value' = @return_value
GO
Выше, когда я прошел@PortfolioId = '5,6'
это дает мне неверные данные
Мне нужны все записи дляportfolio id 5 and 6 also
это правильный способ отправить несколько значений?
Когда я выполняю свои отчеты только давая@PortfolioId = '5'
это дает мне 120 записей, и когда я выполняю его, давая@PortfolioId = '6'
это дает мне 70 записей
Так что когда я дам@PortfolioId = '5,6'
он должен дать мне всего 190 записей, но больше не дает никаких записей, которые я не делаюЯ не понимаю, где именно я ошибаюсь.
Кто-нибудь может мне помочь? Спасибо
весь код слишком большой, чтобы вставить, яВставьте соответствующий код, пожалуйста, предложите подсказку.
CREATE PROCEDURE [dbo].[GENERATE_REPORT]
(
@ComparePeriod VARCHAR(10),
@OverrideCompareDate DATETIME,
@PortfolioId VARCHAR(50) = '2', --this must be multiple
@OverrideStartDate DATETIME = NULL,
@NewPositionsOnly BIT = 0,
@SourceID INT = NULL
) AS
BEGIN
SELECT
Position.Date,
Position.SecurityId,
Position.Level1Industry,
Position.MoodyFacilityRating,
Position.SPFacilityRating,
Position.CompositeFacilityRating,
Position.SecurityType,
Position.FacilityType,
Position.Position
FROM
Fireball_Reporting.dbo.Reporting_DailyNAV_Pricing POSITION WITH (NOLOCK, READUNCOMMITTED)
LEFT JOIN Fireball.dbo.AdditionalSecurityPrice ClosingPrice WITH (NOLOCK, READUNCOMMITTED) ON
ClosingPrice.SecurityID = Position.PricingSecurityID AND
ClosingPrice.Date = Position.Date AND
ClosingPrice.SecurityPriceSourceID = @SourceID AND
ClosingPrice.PortfolioID IN (
SELECT
PARAM
FROM
Fireball_Reporting.dbo.ParseMultiValuedParameter(@PortfolioId, ',') )