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 39217 게시물 읽기
No. 39217
이런건 어떻게 구할까요?
작성자
김종태(blackjt)
작성일
2012-01-10 13:48
조회수
3,948

품목에 구분별로 다래와 같이 한 로우가 존재할때

품목    구분1     수량    금액    구분2     수량     금액     구분3     수량     금액

  A         10             1       100       20          2         200       22          3          150

 

결과값

품목   구분     수량     금액

   A       10          1         100

   A       20          2          200

   A        22         3         150 

세 로우로 나오게 할수는 없을까요?

세번 UNION 걸어야  하면 너무 비효율 적이라서요... 먼저 감사인사 드립니다.

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

WITH t AS
(
SELECT 'A' item
     , 10 gbn_1, 1 cnt_1, 100 amt_1
     , 20 gbn_2, 2 cnt_2, 200 amt_2
     , 22 gbn_3, 3 cnt_3, 150 amt_3
  FROM dual
)
SELECT item
     , lv
     , DECODE(lv, 1, gbn_1, 2, gbn_2, 3, gbn_3) gbn
     , DECODE(lv, 1, cnt_1, 2, cnt_2, 3, cnt_3) cnt
     , DECODE(lv, 1, amt_1, 2, amt_2, 3, amt_3) amt
  FROM t
     , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 3)
;

마농(manon94)님이 2012-01-10 16:16에 작성한 댓글입니다.

감사합니다.

한 걸음 더 나갈수있어서 행복하네요..

김종태(blackjt)님이 2012-01-11 09:58에 작성한 댓글입니다.

WITH t AS
(
SELECT 'A' item
     , 10 gbn_1, 1 cnt_1, 100 amt_1
     , 20 gbn_2, 2 cnt_2, 200 amt_2
     , 22 gbn_3, 3 cnt_3, 150 amt_3
  FROM dual
)
SELECT *
  FROM t
 UNPIVOT ( (gbn, cnt, amt)
           FOR lv IN ( (gbn_1, cnt_1, amt_1) AS 1
                     , (gbn_2, cnt_2, amt_2) AS 2
                     , (gbn_3, cnt_3, amt_3) AS 3
                     )
         )
;

마농(manon94)님이 2012-01-26 11:22에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39221데이터베이스 튜닝을 해야되는데 간단한 인덱스 질문입니다. [2]
윤명철
2012-01-11
4017
39220로그 남기기 [1]
초보자
2012-01-11
3576
39219쿼리 질문드려요^^ [1]
김진
2012-01-10
3560
39217이런건 어떻게 구할까요? [3]
김종태
2012-01-10
3948
39216in 과 반대되는 구문이 있을까요? [2]
sql어렵다
2012-01-10
3233
39215GROUP BY 결과에 대한 질문입니다. [2]
그룹바이
2012-01-09
4083
39214count 질문입니다. [2]
봉달이
2012-01-09
4106
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다