가로로 늘어선 컬럼을 로우로 변환하는 오라클 쿼리이다.
SELECT CURRENCY_CODE,
BASE_DATE,
DECODE(T.NO,
1
,
'D7'
,
2
,
'M1'
,
3
,
'M2'
,
4
,
'M3'
,
5
,
'M4'
,
6
,
'M5'
,
7
,
'M6'
,
8
,
'M7'
,
9
,
'M8'
,
10
,
'M9'
,
11
,
'M10'
,
12
,
'M11'
,
13
,
'M12'
) PERIOD,
DECODE(T.NO,
1
, D7,
2
, M1,
3
, M2,
4
, M3,
5
, M4,
6
, M5,
7
, M6,
8
, M7,
9
, M8,
10
, M9,
11
, M10,
12
, M11,
13
, M12) RATE
FROM RATE L, (SELECT ROWNUM NO, TO_CHAR(ROWNUM,
'FM00'
) NO2 FROM USER_OBJECTS WHERE ROWNUM <
14
) T
WHERE T.NO <=
13
ORDER BY CURRENCY_CODE, BASE_DATE, T.NO
T.NO 부분에 조건절은 쿼리로 만들 필드의 수와 맞아야 한다.
참고로 테이블(RATE)의 필드는 다음과 같다.
CURRENCY_CODE
BASE_DATE
D7
M1
…
M12
쿼리를 하면 CURRENCY_CODE, BASE_DATE, PERIOD, RATE를 필드로 가지는 결과물이 쿼리된다.
출처 : http://takuma99.tistory.com/142
Oracle Tablespace 생성 및 사용자 생성, 권한 주기 (0) | 2013.03.29 |
---|---|
Tablespace 및 User 생성 (0) | 2013.03.18 |
HSODBC 를 이용하여 Oracle -> MSSQL 이기종 간에 DB Link (1) | 2012.09.26 |
Oracle 사고친 유저 찾아보자 (0) | 2012.08.23 |
오라클 달력과 관련해서... (0) | 2012.08.23 |