Можно ли обновить несколько столбцов одним оператором case, или оператор case должен повторяться для каждого столбца? Мне нужно обновить два столбца, которые используют одни и те же критерии случая и хотели бы сделать все это в одном утверждении случая. Это возможно? Вот пример того, что я пытаюсь сделать, используя два выражения case:
UPDATE #wrkcd
SET topdate = CASE
WHEN stopdate < @currentdate AND wustopcd = 'W' THEN stopdate
WHEN stopdate > @currentdate AND minstopdate < @currentdate THEN @currentdate
WHEN stopdate > @currentdate AND minstopdate > @currentdate AND minstopdate < stopdate THEN minstopdate
WHEN stopdate < minstopdate AND wustopcd <> 'W' THEN minstopdate
ELSE stopdate
END,
wustopcd = CASE
WHEN stopdate < @currentdate AND wustopcd = 'W' THEN wustopcd
WHEN stopdate > @currentdate AND minstopdate < @currentdate THEN minwustopcd
WHEN stopdate > @currentdate AND minstopdate > @currentdate AND minstopdate < stopdate THEN minwustopcd
WHEN stopdate < minstopdate AND wustopcd <> 'W' THEN minwustopcd
ELSE wustopcd
END
Спасибо за любую помощь, которую вы можете оказать.