У меня есть WHERE заявление, которое выглядит следующим образом:IF Внутри WHERE с хранимой процедурой
WHERE
((@Value1 IS NULL AND [value1_id] IS NULL) OR [value1_id] = ISNULL(@Value1, [value1_id]))
AND
((@Value2 IS NULL AND [value2_id] IS NULL) OR [value2_id] = ISNULL(@Value2, [value2_id]))
AND
((@Value3 IS NULL AND [value3_id] IS NULL) OR [value3_id] = ISNULL(@Value3, [value3_id]))
AND
((@Value4 IS NULL AND [value4_id] IS NULL) OR [value4_id] = ISNULL(@Value4, [value4_id]))
AND
((@Value5 IS NULL AND [value5_id] IS NULL) OR [value5_id] = ISNULL(@Value5, [value5_id]))
AND
((@Value6 IS NULL AND [value6_id] IS NULL) OR [value6_id] = ISNULL(@Value5, [value6_id]))
мне нужно добавить условную логику внутри ГДЕ, так что я могу сделать специальные вещи с Value5 и Value6. В принципе, если Value5, Value6 или другое значение равно null, я хочу использовать строки Value 5 и Value 6 как есть. Если все три значения не являются NULL, мне нужно выполнить некоторые вычисления значений.
Любые идеи относительно того, что будет лучшим действием?
Вы знаете, что последняя строка отличается? Он имеет смешанное значение «@ Value5»: [value6_id] = ISNULL (@ Value5, [value6_id])) – criticalfix
@criticalfix Спасибо, но это не имеет значения. Я заменил настоящие имена фиктивными именами. – ernest
Вы нашли решение по возникшей проблеме? – Josien