У меня есть хранимая процедура, в которой я выбираю 10 столбцов в зависимости от условия. Ничего особенного, просто SELECT col 1 - 10 WHERE date is between x and y
. Один из выбранных столбцов содержит битовый переключатель. Я хочу иметь возможность проверить этот битовый переключатель, и если его 1 назначить значение, основанное на некоторой математике, назначить столбцу еще на основе некоторой альтернативной математики.
SELECT col1...col10
FROM table a
WHERE getDate is BETWEEN x AND y
IF col5 = 1 THEN
col10 = quantity - quantitysold
ELSE
col10 = quantity - SUM(quantitysold, yearlyonhand)
является основной идеей. Это то, что я пытаюсь так далеко от цели? это кажется достаточно простой концепцией, я просто не уверен, как заставить это работать.
Моя другая мысль состояла в том, чтобы, возможно, создать udf, который обрабатывал вычисления, и вызывать эту функцию изнутри sproc, если битовый переключатель был 1, и альтернативной функции, если нет. Это выглядит как ненормальное количество работы для относительно простой концепции.