我有一周1天的卡车能力,同样的卡车将在整个星期内使用,所以我想填充每天的能力值。例如,我想通过在SQL查询中填充相同的容量值来将每周数据转换为每日数据
以下是数据示例
Date capacity
6-Jan-2018 5.58
13-Jan-2018 4.6预期结果:
Date capacity
6-Jan-2018 5.58
7-Jan-2018 5.58
8-Jan-2018 5.58
9-Jan-2018 5.58
10-Jan-2018 5.58
11-Jan-2018 5.58
12-Jan-2018 5.58
13-Jan-2018 4.6
14-Jan-2018 4.6
15-Jan-2018 4.6
16-Jan-2018 4.6
17-Jan-2018 4.6
18-Jan-2018 4.6
19-Jan-2018 4.6发布于 2019-03-29 10:52:50
使用以下要点(理解)为您提供解决方案。
的解决方案,您的描述我有一周中1天的卡车容量和示例建议您在第一天就知道容量,这将是所有7天(当前+未来6天)的容量
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结果呢?

发布于 2019-03-29 11:15:08
我假设您有一个列来表示每周开始的每个日期的周号。让我们称它为week_no。然后,您可以使用带有标准prior sys_guid选项的简单connect by查询(以防止循环)
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;https://stackoverflow.com/questions/55409430
复制相似问题