Oracle显示范围内的所有日期并加入另一个表

AAA*_*AAA 0 sql oracle join date

我正在尝试运行一个报告来显示过去90天内所有日期的列表,然后将其加入另一个表中,该表在一列中有日期,而另一列中有补充数据.以下是我获取范围内所有日期的方法:

 select trunc(sysdate-90) + rownum -1 from all_objects where rownum <=90
Run Code Online (Sandbox Code Playgroud)

问题是在日期将其加入另一个表.如果我跑:

 select trunc(sysdate-90) + rownum -1, t.col2 from all_objects
 left join (select date, col2 from table) t on trunc(sysdate-90) + rownum -1 = t.date
 where rownum <=90
Run Code Online (Sandbox Code Playgroud)

然后它只显示t.col2中的第一条记录,表示日期范围内的所有值.如何正确加入这两个表?

谢谢

Gri*_*Dog 5

获得前90天的更好方法是使用dual / connect by技巧:

select trunc(sysdate-level) as the_date from dual connect by level <= 90
Run Code Online (Sandbox Code Playgroud)

现在,您应该可以执行以下操作:

select the_date, t.col2
from (select trunc(sysdate-level) as the_date from dual connect by level <= 90) date_tbl
left join t on date_tbl.the_date = t.date
Run Code Online (Sandbox Code Playgroud)