기간 테이블을 일별 테이블로 변경 0 1 616

by LUSY [SQL Query] [2018.11.08 16:01:29]


안녕하세요 SQL초보자입니다 ㅠ

테이블에 작업일자가 표현되어 있는 부분이 From Date, End Date로 구분되어져 있고,

기간에 맞춰 1줄로 정리가 됩니다.

예를 들어

 

판매물품   판매시작   판매종료  

A물품    20181001  20181005   

B물품    20181101  20181102   

 

이런식으로 되어 있는거죠

여기서 이 기간으로 되어있는 부분을

일일별 작업으로 나누고자 합니다.

 

판매물품   판매시작   판매종료  

A물품      20181001   20181001  

A물품      20181002   20181002   

A물품      20181003   20181003   

A물품      20181004   20181004   

A물품      20181005   20181005   

B물품      20181101   20181101  

B물품      20181102   20181102  

 

이럴때, 기간으로 된 부분의 경우 CONNECT BY LEVEL을 이용해서 일자로 분할하면 될것 같은데

이걸 로우별로 동일내용을 집어넣으려면 어떻게 해야할까요 ㅠㅠ?

너무 쉬운문제 일듯한대 도움요청 드립니다 ㅠ

 

 

by 마농 [2018.11.08 17:00:58]
SELECT prod
     , TO_CHAR(TO_DATE(sdt, 'yyyymmdd') + lv - 1, 'yyyymmdd') dt
  FROM t
     , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 99)
 WHERE lv <= TO_DATE(edt, 'yyyymmdd') - TO_DATE(sdt, 'yyyymmdd') + 1
 ORDER BY prod, dt
;

 

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