我一周有1天的卡车运力,一周内将使用同一辆卡车,因此我想每天填充运力值。即我想通过在SQL查询中填充相同的容量值来将每周数据转换为每日数据
下面是数据样本
onAttachedToWindow()
预期结果:
Date capacity
6-Jan-2018 5.58
13-Jan-2018 4.6
答案 0 :(得分:1)
使用以下几点(理解)为您提供解决方案。
WITH VW_DWC AS (SELECT LEVEL-1 DAY_COUNT FROM DUAL CONNECT BY LEVEL <= 7)
SELECT DT.DT_START + V.DAY_COUNT ON_DATE, DT.CAPACITY
FROM VW_DWC V CROSS JOIN (
-- you can provide all your date, capacity pairs here as union all
SELECT to_date('06-Jan-2018', 'DD-MON-YYYY') DT_START, 5.58 AS CAPACITY from dual
UNION ALL
SELECT to_date('13-Jan-2018', 'DD-MON-YYYY') DT_START, 4.6 AS CAPACITY from dual
) DT
ORDER BY ON_DATE
和结果
答案 1 :(得分:0)
我假设您有一列来指示您所拥有的一周开始的每个日期的星期数。我们称之为week_no
。然后,您可以使用带有标准connect by
选项的简单prior sys_guid
查询(以防止循环)
select t.dt+ level-1 as dt, t.capacity
from t connect by level <= 7
and prior week_no = week_no
and prior sys_guid() is not null;