hy,我在结果中有这样的东西
date amount amount2 27.11.2014 100 100 28.11.2014 100 100 29.11.2014 100 200 1.12.2014 100 700 2.12.2014 100 100
我今天和2014年11月30日没有任何记录。
我需要找到一种方法来编写那些日子,以获得最终结果,如
date amount amount2 27.11.2014 100 100 28.11.2014 100 100 29.11.2014 100 200 30.11.2014 0 0 1.12.2014 100 700 2.12.2014 100 100 3.12.2014 0 0
答案 0 :(得分:1)
将您的查询加入到包含所有必要日期的虚拟表中。 这样的表格很容易获得:
with t as (
select to_date('01.12.2014', 'dd.mm.yyyy') + level -1 date_
from dual
connect by to_date('01.12.2014', 'dd.mm.yyyy') + level -1 <= to_date('05.12.2014', 'dd.mm.yyyy')
)
select t.date_,
nvl(<your_table>.amount1,0) amount1,
nvl(<your_table>.amount2,0) amount2
from t left join <your table> yt on yt.date = t.date_
此查询为您提供12月1日至12月5日之间的所有日期,您可以自行修改范围。 希望这有帮助,否则请告诉我。