表1-升级,表2-数据
要求是:对于数据表中的所有记录,我们需要执行上报。
示例1-在数据表中记录1,年份为2014,经济年度为2018。因此,我们需要将值(600)从2014升级到2015,然后升级到2016,再到2017。 因此,最终值将是600 * 5 * 6 * 7
示例2-数据表中的记录3将两次升级-从2015年到2016年,然后到2017年。因此,最终值将为1000 * 6 * 7 必须对数据表中的所有记录执行此操作。
我不想使用游标,因为我有300万条记录。
请提出一些使用“设置操作”执行的想法
create table data
([year] int,
value int,
economic_year int,
modelid int,
shopid int)
create table escalation
([year] int,
shopid int,
value_es int
)
insert into data
values(
2014,600,2018,5,1),
(2014,600,2018,5,1),
(2015,1000,2018,5,1),
(2016,2000,2018,5,1),
(2017,3000,2018,5,1)
insert into escalation
values
(2014,1,4),
(2015,1,5),
(2016,1,6),
(2017,1,7)
select * from escalation
select * from data