Мне нужно обновить таблицу на основе нескольких условий, и обновление должно быть выполнено в одном операторе обновления. Кроме того, ограничение заключается в том, что я НЕ МОГУ использовать следующую конструкцию из-за проблем с производительностью, поскольку в моем обновлении содержится около 18 выражений CASE:
UPDATE A
SET A.col1 = CASE WHEN B.col = someValue THEN B.Col2 END,
B.Col2 = CASE WHEN b.col = someOtherValue THEN B.Col2 END,
.
.
--18th CASE stmt
B.Col18 = CASE WHEN b.col = YetAnotherValue THEN B.Col2 END
FROM
tableA A
INNER JOIN
tableB B ON A.someColumn = B.someColumn
Будем благодарны за любые предложения.