【发布时间】:2013-12-05 19:44:26
【问题描述】:
我需要在我的项目中编写一个查询,我想要在另一个表的每个日期范围(对于 ORACLE 数据库)的每个日期范围内计算一列的总和。
TABLE1 – 每个日期都有预订的人数:
DT NO_OF_PAX
-------- ---------------
01-JAN-14 10
02-JAN-14 5
03-JAN-14 8
05-JAN-14 5
:
:
28-DEC-14 20
30-DEC-14 9
31-DEC-14 15
TABLE2 - 它有很多日期范围:
ST_DT END_DT
--------- ------------
01-JAN-14 31-JAN-14
01-FEB-14 28-FEB-14
12-JAN-14 15-FEB-14
:
:
01-NOV-14 20-NOV-14
01-DEC-14 31-DEC-14
现在我需要编写查询,它应该为 TABLE2 的每个日期范围显示来自 TABLE1 的 SUM(NO_OF_PAX)。请教我应该怎么写。
由于两者都没有共同的列,我不知道如何加入这两个表。我写成
SELECT SUM(TABLE1.NO_OF_PAX) FROM TABLE1, TABLE2
WHERE TABLE1.DT BETWEEN TABLE2.ST_DT AND TABLE2.END_DT
它失败了,没有单组功能。
【问题讨论】:
-
你试过什么?