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
운영게시판
최근게시물
MS-SQL Q&A 4221 게시물 읽기
No. 4221
쿼리 부탁드립니다(pivot을 쓰면 될까요?)
작성자
오라클
작성일
2008-05-22 17:35
조회수
4,855

yyyy   div   m1     m2         ... m12
------------------------------------
2007   1      100     200         ... 1200
2007   2      200     600         ... 1200
2007   3      300     700         ... 1200
2007   4      400     800         ... 1200
2008   1      101     201         ... 1201
2008   2      201     601         ... 1202
2008   3      301     701         ... 1203
2008   4      401     801         ... 1204

yyyy   div  data
---------------
200701  1  100
200701  2  200
200701  3  300
200701  4  400
200702  1  200
200702  2  600
200702  3  700
200702  4  800
...

200812  1  1201
200812  2  1202
200812  3  1203
200812  4  1204

이렇게 나오도록 하고 싶습니다.

pivot을 쓰면 될 것 같기도한데 오라클은 첨이라 당황스럽네요

확인부탁드립니다.^^

이 글에 대한 댓글이 총 2건 있습니다.
with tmp as
(select '2007' as yyyy,    1 as div,   100 as m1,  200 as m2,  1200 as m12 from dual union all
select '2007' as yyyy,    2 as div,   200 as m1,  600 as m2,  1200 as m12  from dual union all
select '2007' as yyyy,    3 as div,   300 as m1,  700 as m2,  1200 as m12  from dual union all
select '2007' as yyyy,    4 as div,   400 as m1,  800 as m2,  1200 as m12  from dual union all
select '2008' as yyyy,    1 as div,   101 as m1,  201 as m2,  1201 as m12  from dual union all
select '2008' as yyyy,    2 as div,   201 as m1,  601 as m2,  1202 as m12  from dual union all
select '2008' as yyyy,    3 as div,   301 as m1,  701 as m2,  1203 as m12  from dual union all
select '2008' as yyyy,    4 as div,   401 as m1,  801 as m2,  1204 as m12  from dual )
select
    yyyy || lvl as ymd
    , div
    , decode(lvl, 1, m1
                , 2, m2
                , 12, m12) as data
from tmp a
    cross join (select lpad(to_char(level), 2, '0') as lvl from dual
                connect by level <= 12) b 

.님이 2008-05-22 18:11에 작성한 댓글입니다. Edit

어이쿠.. 감사합니다^^

오라클님이 2008-05-23 13:19에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
4224Sum 을 여러번 하는데 너무 느려요~!! [2]
최승위
2008-05-26
4413
4223오라클 펑션을 MS SQL로 변환하려고 합니다. [1]
질문요
2008-05-23
4975
4222sp_helpdb 로 데이터베이트 리스트를 가져올려고 하는데요. [1]
우왁
2008-05-23
4617
4221쿼리 부탁드립니다(pivot을 쓰면 될까요?) [2]
오라클
2008-05-22
4855
4220SP작성할때 커서에 테이블명을 변수로 지정 할 수 없나요? [1]
박정열
2008-05-22
5019
4219오라클 insert mssql2000 insert 문으로 교체~~질문 [3]
너는매운면
2008-05-22
4976
4218update 질문이요. 도와주세요~~ [2]
김형일
2008-05-22
4236
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다