작업 TABLE 의 DATA는 아래와 같습니다.
작업 시작 시간 | 작업종료 시간 |
202001051553 | 202001051637 |
202001051720 | 202001051805 |
202001051856 | 202001051953 |
실제 만들 쿼리 는 아래와 같이 해야됩니다.
작업 시작 시간 | 작업종료 시간 |
202001051553 | 202001051637 |
202001051637 | 202001051720 |
202001051720 | 202001051805 |
202001051805 | 202001051856 |
202001051856 | 202001051953 |
원래의 시간 DATA의 사이 시간을 찾아서 만들어 넣어야 되는 쿼리 인데요 로우카피해서 넣는게 잘안되네요 ㅠㅠ
도움 부탁드립니다. 수고하세요
-- 이전 글에서 마농님이 가이드 해주신대로 하시면 될 것 같습니다. WITH t AS ( SELECT '202001051553' s, '202001051637' e FROM dual UNION ALL SELECT '202001051720' s, '202001051805' e FROM dual UNION ALL SELECT '202001051856' s, '202001051953' e FROM dual ) SELECT * FROM ( SELECT s, LEAD(s) OVER(ORDER BY s) e FROM ( SELECT s s FROM t UNION ALL SELECT e s FROM t ) ) WHERE e IS NOT NULL ORDER BY s
WITH t AS ( SELECT '202001051553' s, '202001051637' e FROM dual UNION ALL SELECT '202001051720', '202001051805' FROM dual UNION ALL SELECT '202001051856', '202001051953' FROM dual ) SELECT * FROM (SELECT DECODE(lv, 1, s, e) s , DECODE(lv, 1, e, LEAD(s) OVER(ORDER BY s, lv)) e FROM t , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 2) ) WHERE e IS NOT NULL ;