我需要将具有指定日期范围(STARTDATE
,ENDDATE
)的行分散到多个行中,并且该行具有该范围的连续日期。请参阅下面的图片
以下是数据的示例
> MODELCD PRODUCTCD PROCESSCD LS_PROCESSCD EST_STARTDATE EST_ENDDATE
P9218 22186844 15VV2111 DS 21/12/2015 10/1/2016
P9218 22269836 15VV2121 MC 23/2/2016 21/3/2016
P9218 22186844 15VV2111 MC 9/2/2016 7/3/2016
预期结果如下所示
MODELCD PRODUCTCD PROCESSCD LS_PROCESSCD PROCESS_DATE
P9218 22186844 15VV2111 DS 21/12/2015
P9218 22186844 15VV2111 DS 22/12/2015
P9218 22186844 15VV2111 DS 23/12/2015
' ' ' ' '
' ' ' ' '
' ' ' ' '
P9218 22186844 15VV2111 DS 10/01/2016
P9218 22269836 15VV2121 MC 23/2/2016
P9218 22269836 15VV2121 MC 24/2/2016
' ' ' ' '
' ' ' ' '
' ' ' ' '
P9218 22269836 15VV2121 MC 21/3/2016
答案 0 :(得分:0)
SELECT t.ModelCD,
t.PART,
t.JOBNO,
t.PROCESSCD,
STARTDATE + LEVEL
FROM Table t
WHERE PROCESSCD = 'DS.'
CONNECT BY LEVEL <= ENDDATE - STARTDATE;