У меня есть хранимая процедура, которая вызывается с параметром. Я хотел бы проверить, что такое PARAM @Value, и в зависимости от значения я хочу добавить часть предложения WHERE, если оно равно определенному значению.
Допустим, процедура выглядит так:
Select Sum(Cost) as Cost, Car, Make
INTO #TempTable1
WHERE
1=1 and Date > '04/21/2020'
IF @Value in (1,2,3)
AND Color= 'Black'
GROUP BY
Car, Make
Это очень упрощенный код, мое предложение WHERE для @Value=1,2,3 будет намного больше.
По сути, моя цель — добавить часть предложения WHERE, если @Value = 1, 2, 3. Что-то вроде выполнимого?
РЕДАКТИРОВАТЬ: Что, если над моим оператором выбора я добавлю что-то вроде
DECLARE @WHERE AS VARCHAR(MAX)
IF @VALUE IN (1,2,3)
SET @WHERE = 'color = ''black'''