ORACLE SQL - 将日期范围插入现有脚本

时间:2015-08-04 11:02:58

标签: sql oracle

我使用以下脚本来获取每天的生产数据。有些日子里没有生产数据,所以报告没有通过该日期。

select distinct 
od.work_center_no, 
case  when od.work_center_no not in ('HPKG','SHRK') then so.revised_qty_due
      when od.work_center_no in ('HPKG','SHRK') then od.allowed_hours
end units_discs, 
case  when od.work_center_no not in ('HPKG','SHRK') then 'units'
      when od.work_center_no in ('HPKG','SHRK') then 'hrs'
end qty_hrs,
trunc(so.revised_due_date), so.plant, so.order_type
from gps_beweg gb, TABLE(leos_flatbom_pkg.GetFlatBOM(gb.part_no)) bom, 
leos_item li, shop_order so, operations_detail od
where gb.cunr = 'W30001'
and bom.av_part_no = li.av_part_no
and li.item_type in ('FP','MD')
and bom.av_part_no = so.part_no
and so.status_code between '2' and '8'
and so.order_no = od.order_no
and od.work_center_no not in ('AVDX','DPRN','FYIE','BVDB','ABDX','BBDS')
and od.work_center_no = 'HPKG'
and so.plant = 'W'
order by trunc(so.revised_due_date)

我希望看到这些错过的日期。 我有以下日期范围脚本。我想如果我运行这个脚本,我可以通过加入日期来加入我的数据。

select rownum - 1 + to_date(SYSDATE, 'dd/mm/yyyy') a
  from all_objects
  where rownum < to_date(SYSDATE+90, 'dd/mm/yyyy') -
    to_date(SYSDATE, 'dd/mm/yyyy') + 2

但是,我不知道如何将日期脚本添加到我现有的脚本中...应该是否作为子选择(我确实试过这个但是我一直收到错误(ORA-00923:FROM keyword not found预期的地方)。

1 个答案:

答案 0 :(得分:1)

使用

获取特定数量的记录
...
(loop = function() {
    var inloop;
    clearTimeout(clr);
    (inloop = function() {
        ...

使用它与您的选择

联接
select level from dual
  connect by level < 91

外部联接和nvls是选择没有数据的日期所必需的。