【发布时间】:2013-03-30 05:43:46
【问题描述】:
例如,我已经简化了查询的结果(选择...从...哪里...):
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'), N.l-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
【问题讨论】:
-
更具体,给我们查询您尝试过的数据或表格数据。
-
这是示例中的数据,我能说得更具体吗?您想要查询我用来获取 id 月份金额 1 2 120 1 6 180 2 2 120 2 6 180 的查询吗?此处太大,无法粘贴。