시간 관련 추가 쿼리 문의 드림 ( 오라클9i) 0 3 516

by 달려라 [SQL Query] [2020.02.10 17:27:01]


작업 TABLE 의 DATA는 아래와 같습니다.

작업 시작 시간  작업종료 시간 
202001051553 202001051637
202001051720 202001051805
202001051856 202001051953

 

 실제 만들 쿼리 는 아래와 같이 해야됩니다.  

작업 시작 시간  작업종료 시간 
202001051553 202001051637
202001051637 202001051720
202001051720 202001051805
202001051805 202001051856
202001051856 202001051953

원래의 시간 DATA의 사이 시간을 찾아서 만들어 넣어야 되는 쿼리 인데요  로우카피해서 넣는게 잘안되네요 ㅠㅠ

도움 부탁드립니다. 수고하세요

 

 

by 랑에1 [2020.02.10 17:58:11]
-- 이전 글에서 마농님이 가이드 해주신대로 하시면 될 것 같습니다.

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

 


by 마농 [2020.02.11 08:55:24]
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
;

 


by 달려라 [2020.02.13 16:26:11]

두분 감사합니다. ^^;;

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입