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 37846 게시물 읽기
No. 37846
Row 생성하기..
작성자
아폴론(apollon)
작성일
2010-08-12 15:10
조회수
3,149

Table1

clcd   amnt
0001    1,000,000
0002    1,000,000

이런 데이커가 있는데..
다음과 같이 나타내고 싶습니다

clcd  Kubn       kubn2  Kname
0001  billing      01      신문
0001  billing      02      잡지
   //         //            03       TV
   //         //            04       Radio
   //         //            05       catv
   ..     ..        ..     ..
   //         //            13       기타 
   //         //            99       합계

0001  Ravinue      01    신문
0001  Ravinue      02    잡지
 //            //               03    TV
 //            //               04    Radio
 //            / /              05    catv
  ..
  ..
 //           //                99     합계
0001     비율         01     신문
0001     비율         02     잡지
 //              //             03     TV
 //              //             04     Radio
 //             //              05     catv
  ..
  ..
 //             //             99     합계

0002  billing      01    신문
0002  billing      02    잡지
 //            //           03    TV
 //            //           04    Radio
 //            //           05    catv
  ..     ..        ..     ..
 //           //           13    기타
 //           //           99    합계

0002  Ravinue      01    신문
0002  Ravinue      02    잡지
 //              //             03    TV
 //              //             04    Radio
 //             //              05    catv
  ..
  ..
 //             //              99     합계
0002     비율         01     신문
0002     비율         02     잡지
 //              //            03      TV
 //              //            04      Radio
 //              //            05      catv
  ..
  ..
 //              //             99       합계

clcd(거래처) 한건에 kubn값을 3개로 해서 각 kubn에는 kubn2를 01~13, 99 해서 14개값을 나타내 주고 싶습니다.
거래처가 물론 많이 있습니다.  거래처 한개당 가로(Field)는 최대 20개  세로(Row)는 32개가 되네요..

그럼 거래처거 100개면 Row가 320개가 되겠네요..휴~
지금까지는 루프를  돌려 임시테이블에  Row를 생성해 주었었는데요...앞으론 임시테이블을 못쓰게 되는 상황이라...
한번의 쿼리로 해야 합니다.

아님..오라클에 유저단위로 임시테이블을 생성하고 프로그램 종료와 함께  삭제 하든가요...
그런데 제가 오라클로 임시테이블을 생성 할 수 있는지도 모르겠습니다.
(임시테이블: 필요시 생성하고 사용 후 삭제하는..)

부탁 드립니다.. 감사합니다.

 

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

혹시 세로(Row)는 42개 아닌가요?
(왜 32개가 되는지 이해가 안되네요. -.-;;)


암튼, 도움이 됐씀 좋겠습니다.


SELECT  A.CLCD
       ,B.KUBN
       ,C.KUBN2
       ,C.KNAME
  FROM (
        SELECT  LPAD(LEVEL,4,'0') AS CLCD
          FROM  DUAL
        CONNECT BY LEVEL <= 2
       ) A,
       (
        SELECT  CASE LEVEL WHEN 1 THEN 'Billing' WHEN 2 THEN 'Ravinue' WHEN 3 THEN '비율' END AS KUBN
          FROM  DUAL
        CONNECT BY LEVEL <= 3
       ) B,
       (
        SELECT  CASE WHEN LEVEL = 14 THEN '99' ELSE LPAD(LEVEL,2,'0') END AS KUBN2
               ,CASE LEVEL
                     WHEN  1 THEN '신문' WHEN  2 THEN '잡지' WHEN  3 THEN 'Tv'   WHEN  4 THEN 'Radio' WHEN  5 THEN 'catv'
                     WHEN  6 THEN '??'   WHEN  7 THEN '??'   WHEN  8 THEN '??'   WHEN  9 THEN '??'    WHEN 10 THEN '??'
                     WHEN 11 THEN '??'   WHEN 12 THEN '??'   WHEN 13 THEN '기타' WHEN 14 THEN '합계'
                 END AS KNAME
          FROM  DUAL
        CONNECT BY LEVEL <= 14
       ) C
;
 

깨비(ggaevi)님이 2010-08-12 16:22에 작성한 댓글입니다.
이 댓글은 2010-08-12 16:29에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
37850Row 생성하기..한번더요.. [3]
아폴론
2010-08-13
2695
37849[질문] DB Link Table 에 Merge 문 사용이 Error 가 발생하네요... [3]
황동연
2010-08-13
5818
37847CONNECT BY 질문입니다. [2]
안동석
2010-08-12
3069
37846Row 생성하기.. [1]
아폴론
2010-08-12
3149
37845rownum과 order by에 대해 답변좀 부탁드립니다. [2]
개발자A
2010-08-12
3129
37844마지막 숫자 제외하고 값 가져오는 함수가 있나요 [2]
심심이
2010-08-12
2674
37843프로시져 호출시 가끔 세션이 쌓이면서 딜레이가 생기네요. [3]
개발자A
2010-08-11
2688
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다