Вот мой код:
with calendar as
(
select
to_date('1-jan-2019') + daynum as day_of_year,
Day_of_Week,
rownum as Date_ID
from
(
select
rownum - 1 as daynum,
to_char(to_date('1-jan-2019') + rownum - 1,'D') as Day_of_Week
from
dual connect by rownum < sysdate - to_date('1-jan-2019') + 1000)
where
day_of_week not in (1,7)
),
Мне нужно знать, почему я получаю эту ошибку и как ее исправить. Когда я запускаю его без 'С календарем как'
select to_date('1-jan-2019') + daynum as day_of_year,
Day_of_Week,rownum as Date_ID
from
(
select
rownum - 1 as daynum,
to_char(to_date('1-jan-2019') + rownum - 1,'D') as Day_of_Week
from dual connect by rownum < sysdate - to_date('1-jan-2019') + 1000)
where day_of_week not in (1,7)
Он запускается, и результаты
Результаты
Backend Story: Итак, я создаю правило для нашего SLA (Соглашение об уровне обслуживания). На нашем складе у нас есть определенное количество дней, чтобы получать заказы на причале. Таким образом, сгенерировав календарь и добавив правило «SLA» ниже, мы можем получить «by_date», показывающее, в какой день нам нужно иметь это на док-станции. когда заказ упал.
select distinct ord_num, max(sla) as sla from (
select
h.ord_num,d10a.EDI_DATA_ID_VALUE as Order_TP, d10b.EDI_DATA_ID_VALUE as Augment,
case when
LOWER(d10b.EDI_DATA_ID_VALUE) LIKE '%shroud%' then 10
when ord_lev1 in ('207347') then 4
--Charles Cabinet
when ord_lev1 in ('204611','204816','204819','205333','205818','205988') then 3
--All Other cabinet IMNs or spare orders to cabinet
when d10a.EDI_DATA_ID_VALUE = 'spare' then 0
--SLA on spares, have to account for start date in another CTE
else
2
end as sla --all other orders that arent charles, cabinet or a spare
from e_ord_h h
left join e_ord_d5 d5 on h.ord_num = d5.ord_num and d5.comp_code = 'S1'
left join e_ord_D10 d10a on h.ord_num = d10a.ord_num and d10a.EDI_DATA_ID_DES = 'Capstan Order Type'and d10a.comp_code = 'S1'
left join e_ord_D10 d10b on h.ord_num = d10b.ord_num and d10b.EDI_DATA_ID_DES = 'Capstan Augment'and d10b.comp_code = 'S1'
where h.comp_code = 'S1' and flow_pros_code <> 'COOR' and ord_Stat = 'A'
) group by ord_num