2024-05-09
请教这个SQL(关于model)
50M如下图:model_test表emid,year1,S,A四个字段分别代表工号,年份,应有年假,已请年假
R列代表当前剩余的年假天数,需用model计算,现也计算出来了,公式如下:
R=上一行的R值+当前行的S值-当前行的A值
但我要在这个基础上进一步处理:同一个工号同一年份可能有两条或多条记录(一年分两段计算),如果当前行和上一行的年份是同一年,则按上面的规则累计,如果不是同一年还分两种情况,1是上一行的R值小于0则累加,如果大于0,上一行的R值当0来处理 (意思是上一年没请完的年假过期,而请多的要扣回),我在 rules后面用decode不行,求帮忙
建表和记录插入SQL在后面,

create table model_test(
emid varchar2(1),
year1 varchar2(4),
s number(4,1),
a number(4,1),
r number(4,1),
primary key(emid,year1));
insert into model_test values('A','2023',0,1.5,NULL);
insert into model_test values('A','2024',1.5,0,NULL);
insert into model_test values('A','2025',15,0,NULL);
insert into model_test values('A','2026',14,7,NULL);
commit;
我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

评论

