database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41216 게시물 읽기
No. 41216
SQL 질문요~
작성자
바라기
작성일
2016-08-19 13:35ⓒ
2016-08-19 14:02ⓜ
조회수
5,969

SELECT EV_DATE,VAL

FROM

(

SELECT TO_DATE('20160801','YYYYMMDD') AS SDATE, 2 AS VAL FROM DUAL

UNION ALL

SELECT TO_DATE('20160811','YYYYMMDD') AS SDATE, 8 FROM DUAL

UNION ALL

SELECT TO_DATE('20160819','YYYYMMDD') AS SDATE, 7 FROM DUAL

) A,

(

SELECT TRUNC(TO_DATE('20160801','YYYYMMDD') ) + LEVEL-1 AS EV_DATE

FROM DUAL CONNECT BY LEVEL <= 31

) B

WHERE B.EV_DATE = A.SDATE(+)

ORDER BY EV_DATE

 

아래와 같이 A테이블에 입력된 값을 다음 값이 나오기 전까지 모두 채워 줄수 있나요?

 

20160801 , 2

20160802 , 2

20160803 , 2

...

...

...

20160811 , 8

...

...

...

20160819 , 7

...

...

20160831 , 7

이 글에 대한 댓글이 총 1건 있습니다.

SELECT ev_date
     , LAST_VALUE(val IGNORE NULLS) OVER(ORDER BY ev_date) val
  FROM (SELECT TO_DATE('20160801', 'yyyymmdd') sdate, 2 val FROM dual
        UNION ALL SELECT TO_DATE('20160811', 'yyyymmdd'), 8 FROM dual
        UNION ALL SELECT TO_DATE('20160819', 'yyyymmdd'), 7 FROM dual
        ) a
     , (SELECT TO_DATE('20160801', 'yyyymmdd') + LEVEL - 1 ev_date
          FROM dual
         CONNECT BY LEVEL <= 31
        ) b
 WHERE b.ev_date = a.sdate(+)
 ORDER BY ev_date
;

마농(manon94)님이 2016-08-22 13:08에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41220left join 시 조건 [1]
궁금이
2016-08-25
6032
41219outer join 질의 [1]
홍도영
2016-08-25
6150
41218도와주세요 [1]
울산
2016-08-23
5905
41216SQL 질문요~ [1]
바라기
2016-08-19
5969
41215오라클 트리거 관련
초보디비
2016-08-19
5864
41214오라클 프로시저 구현 문의
게릴라
2016-08-19
6078
41213[문의] Hive Collect_list 함수의 Oracle 구현
Aslube
2016-08-17
7244
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다