例如,我简化了查询的结果(选择...从...哪里...):
id months amount
1 2 120
1 6 180
2 2 120
2 6 180
现在我需要从上面的第一个表中获取另一个表,它应该如下所示:
id months month_name amount
2 120
1 2 2013-04 60
1 2 2013-05 60
6 180
1 6 2013-04 30
1 6 2013-05 30
1 6 2013-06 30
1 6 2013-07 30
1 6 2013-08 30
1 6 2013-09 30
2 120
2 2 2013-04 60
2 2 2013-05 60
6 180
2 6 2013-04 30
2 6 2013-05 30
2 6 2013-06 30
2 6 2013-07 30
2 6 2013-08 30
2 6 2013-09 30
不知道如何通过查询得到这个结果?我应该使用程序吗?如果是这样 - 有什么例子吗?
已编辑:我现在似乎需要:如果给定日期比 sysdate 早一个多月(比如说两个月),那么第一笔金额应该加倍,并且所有拆分都应该在 1 个月内完成。难以解释。例如 ....add_months(to_date('2013-03','yyyy-mm'), Nl-1) as month_name... 以 sysdate 为 2013-04,那么结果应该出现:
id months month_name amount
2 120
1 2 2013-03 120
6 180
1 6 2013-03 60
1 6 2013-04 30
1 6 2013-05 30
1 6 2013-06 30
1 6 2013-07 30
2 120
2 2 2013-03 60
6 180
2 6 2013-03 60
2 6 2013-04 30
2 6 2013-05 30
2 6 2013-06 30
2 6 2013-07 30