Apply Filter Dynamicaly in query
--DECLARE @tblWaveIds UDT_StrList
--DECLARE @tblMgrUserIds UDT_StrList
--DECLARE @tblEngUserIds UDT_StrList
--DECLARE @tblSecondaryRoleIds UDT_StrList
--DECLARE @tblFacilityIds UDT_StrList
--DECLARE @tblCenterPguIds UDT_StrList
--DECLARE @tblCenterPguSkillIds UDT_StrList
DECLARE @csvWaveIds VARCHAR(max) = N'-1,4,1,3,2'
DECLARE @waveCount INT = 0
SELECT @waveCount = COUNT(s.[Value])
FROM dbo.Spliter(@csvWaveIds, ',') s
SELECT @waveCount
SELECT uc.CenterId
,a.AssessmentId
,ucxcps.WaveId
,a.MgrUserId
,uc.UserId
,a.PrimaryRole
,a.SecondaryRoleId
,a.FacilityId
,a.ServiceTower
,a.Region
,cps.CenterXPGUId
,cps.CenterXPGUXSkillId
,a.IsAssessmentActivated
,a.IsComplete
,a.StartDate
,a.CompletedDate
,a.TestTakenCount
,a.NoOfRetest
,trs.ActivityId
,trs.Rating
FROM dbo.Assessment a
INNER JOIN dbo.UserCenterXCenterPguSkill ucxcps ON ucxcps.Id = a.UserCenterXCenterPguSkillId
INNER JOIN dbo.UserXCenter uc ON uc.UserXCenterId = ucxcps.UserXCenterId
INNER JOIN dbo.CenterXPGUXSkill cps ON cps.CenterXPGUXSkillId = ucxcps.CenterXPGUXSkillId
LEFT JOIN dbo.TCIAssessmentResultSummary trs ON trs.AssessmentId = a.AssessmentId
WHERE a.IsActive = 1
AND (
@waveCount = 0
OR ISNULL(ucxcps.WaveId, - 1) IN (
SELECT dbo.Spliter.[Value]
FROM dbo.Spliter(@csvWaveIds, ',')
)
)
ORDER BY ucxcps.WaveId
,a.MgrUserId
,uc.UserId
,cps.CenterXPGUId
,cps.CenterXPGUXSkillId