Вы можете вложить case
в coalesce
.
select coalesce(case when @amountA > 0 then @amountA end, @amountB)
Можно также переписать как
select case when @amountA > 0 then @amountA else @amountB end
Обратите внимание, что если вы не измените приведенный выше условный оператор с> на <>, отрицательным значениям будет присвоено @ amountB