老哥们帮帮忙啊。我现在有个字段叫缴费记录,然后现在要找出缴费记录中断的时间,比如说201803到202003这个区间,某个人他可能201807,201903没有缴费,怎么找出这个时间。而且他如果没有缴费是没有记录的。。最后我要把这个欠缴费的时间拼上他个人的信息显示,怎么做,用oracle。而且某个人缴费可能不是在这个区间开始的,比如不是在201803开始,而是他在201805才开始缴费的。
老哥们帮帮忙啊。我现在有个字段叫缴费记录,然后现在要找出缴费记录中断的时间,比如说201803到202003这个区间,某个人他可能201807,201903没有缴费,怎么找出这个时间。而且他如果没有缴费是没有记录的。。最后我要把这个欠缴费的时间拼上他个人的信息显示,怎么做,用oracle。而且某个人缴费可能不是在这个区间开始的,比如不是在201803开始,而是他在201805才开始缴费的。
我对sql语言并不很熟悉,所以具体实现可能没法给你一个直接可用的答案,但是可以提供一个思路:
sql语法和函数我不那么熟悉,不过估计是要用到好几层子循环,一层查这个最早的日期,然后把最早的日期作为条件,结合最晚的日期组成区间,生成这个区间的日期,再select全表找匹配不到的日期,就应该可以得到最后结果啦。
感觉挺有意思的,如果写出来了也告诉我一下吧,我好学习学习。
15 回答8.2k 阅读
8 回答6k 阅读
5 回答3.3k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
2 回答3.2k 阅读
没有试过,但是有个想法,创建一张表,记录是从197001开始到210001(或者更大),然后关联查询,把匹配不到缴费记录的查出来就可以了
20210410补充
举个例子,有一张缴费的记录表:
假设202001-202012用户1已缴费的月份为1、3、4、5月,那怎么找出没缴费的月份呢?我们创建一张关联表,仅保存月份数据:
向其中写入数据:
然后,关联两张表,就可以找到用户1没有缴费的月份了: