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 38645 게시물 읽기
No. 38645
데이타 가져오는 쿼리 도움 부탁드립니다.
작성자
종이연필
작성일
2011-06-30 14:35ⓒ
2011-06-30 14:36ⓜ
조회수
4,665

안녕하세요. 오라클 초보입니다.

현재 테이블에 데이타가 아래 처럼 들어가 있습니다.

칼럼이 yy, mm, d01에서 d31까지 구성되어 있습니다.

yy mm d01 d02 d03 .. d31
2011 1 3 8 6 .. 5
2011 2 2 7 5 .. 4
2011 3 3 6 6 .. 5
2011 4 1 8 5 .. 4
2011 5 3 5 3 .. 2
2011 6 5 4 5 .. 3
2011 7 4 5 2 .. 2
2011 8 6 1 3 .. 4
2011 9 2 5 2 .. 5
2011 10 8 2 3 .. 2
2011 11 0 7 5 .. 0
2011 12 4 5 8 .. 4

이 테이블의 값을 아래처럼 한개의 로우에 날짜와 값 이렇게 두개의 항목으로 보여주려고 합니다.

20110101 3
20110102 8
20110103 6
. .
. .

오라클에서 이렇게 가져오려면 쿼리를 어떻게 해야되는지 고수님들의 도움 부탁드립니다.

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

1~8일 까지만의 데이를 생성하여 처리한 것입니다.

 with t as (

select 2011 yy, 1 mm,  3 d1, 8 d2, 6 d3, 5 d4, 3 d5, 8 d6, 6 d7, 5 d8 from dual union all 
select 2011, 2,  2, 7, 5, 4, 2, 7, 5, 4 from dual union all
select 2011, 3,  3, 6, 6, 5, 3, 6, 6, 5 from dual union all
select 2011, 4,  1, 8, 5, 4, 1, 8, 5, 4 from dual union all
select 2011, 5,  3, 5, 3, 2, 3, 5, 3, 2 from dual union all
select 2011, 6,  5, 4, 5, 3, 5, 4, 5, 3 from dual union all
select 2011, 7,  4, 5, 2, 2, 4, 5, 2, 2 from dual union all
select 2011, 8,  6, 1, 3, 4, 6, 1, 3, 4 from dual union all
select 2011, 9,  2, 5, 2, 5, 2, 5, 2, 5 from dual union all
select 2011, 10, 8, 2, 3, 2, 8, 2, 3, 2 from dual union all
select 2011, 11, 0, 7, 5, 0, 0, 7, 5, 0 from dual union all
select 2011, 12, 4, 5, 8, 4, 4, 5, 8, 4 from dual
), t1 as (
select yy
     , to_char(mm, 'fm00') mm
     , d1||':'||d2||':'||d3||':'||d4||':'||d5||':'||d6||':'||d7||':'||d8 dd
  from t
)
select yy||mm||to_char(lv, 'fm00') ymd
     , regexp_substr(dd,'[^:]+',1,b.lv) qty
  from t1 a 
     , ( select level as lv 
           from dual 
        connect by level <= 31
       ) b 
 where b.lv <= length(regexp_replace(dd,'[^:]')) + 1
 order by 1
 
知音(sunnylee72)님이 2011-06-30 15:20에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
38648레코드 복구에 관하여 [1]
초보
2011-07-01
3856
38647디비링크 오류? ORA-002062 [3]
질문
2011-06-30
9161
38646Flashback Table Feature in Oracle Database 10g
jin_hee
2011-06-30
4099
38645데이타 가져오는 쿼리 도움 부탁드립니다. [1]
종이연필
2011-06-30
4665
38644with NAME as (~~~ 어떻게 사용하나요? [2]
냥이
2011-06-29
4022
38642ORA - 06052 에러 [2]
장마철
2011-06-28
4555
38640오라클 설치 문의 [1]
레이첼
2011-06-26
3176
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다