求一个SQL的写法

wartim wartim 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有一个折扣表,存储了每个月的消费卡的折扣,比如
年 月 卡类 折扣
2012 4 1 90%
2012 4 2 85%

每个月的卡类是固定的,比如都是1、2类卡
但不是每个月都有记录的,只是在要修改新折扣时才保存了修改的头一个月的记录,比如2013年2月份又去改了一次
2012 4 1 90%
2012 4 2 85%

2013 2 1 75%
2013 2 2 80%

系统从2012年1月开始算到最新日期,这时需要把所有中间间断的月份的记录补齐,补齐原则是看上一个月有没有,有就按卡类克隆上一个月的,如果没有就再往上走,如果一直没有,折扣就默认为100%,之前的就不需要补,

也就是没记录的月份代表这些折扣设置保持不变
所以最后的结果(是视图或存储过程而不是真的往表里填空缺的)应该是
2012 1 1 100%
2012 1 2 100%
2012 2 1 100%
2012 2 2 100%
2012 3 1 100%
2012 3 2 100%

2012 4 1 90%
2012 4 2 85%
2012 5 1 90%
2012 5 2 85%
2012 6 1 90%
2012 6 2 85%
2012 7 1 90%
2012 7 2 85%
2012 8 1 90%
2012 8 2 85%
2012 9 1 90%
2012 9 2 85%
2012 10 1 90%
2012 10 2 85%
2012 11 1 90%
2012 11 2 85%
2012 12 1 90%
2012 12 2 85%
2013 1 1 90%
2013 1 2 85%

2013 2 1 75%
2013 2 2 80%
...全文
评论 5
收藏 已收藏
分享
返回顶部
wartim
应用实例 27,579 成员 68,540 内容