У меня есть таблица, которая выглядит так, как показано ниже. Я пытаюсь выяснить, как обновить столбец «endval» со значением из столбца «startval», уменьшенным на 10% для каждого кратного 5 в столбце «эффект».
declare @tbl table ( rowid int , effect Int , startval decimal(6,2) , endval decimal(6,2) )
insert @tbl values
( 0 , 10 , 6 , null ) -- expect 4.86 in endval
, ( 1 , 40 , 10 , null ) -- expect 4.30 in endval
, ( 2 , 7 , 1 , null ) -- expect .9 in endval
select * from @tbl
Обратите внимание, что rowid 2 не имеет четного числа, кратного 5, в столбце «эффект», поэтому он уменьшается на 10% только один раз.
Я пытаюсь придумать какой-либо способ «прогрессивно увеличивать процент» в TSQL (2012), и ничего не приходит на ум. Помощь?
Спасибо.