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 41541 게시물 읽기
No. 41541
세로 데이터를 가로로 만들 때
작성자
초보자
작성일
2018-03-27 15:21:31
조회수
377

seq   group data
=============
1         1         A
1         2         B
1         3         A
1         3         C
1         4         B
2         1         A
2         1         D
2         2         B
2         3         A
2         4         C
=============

위와 같이 출력되는 데이터를 아래와 같이 나오게 하고 싶어요

A         |     B     |    A, C    |      B
A , D   |     B     |        A     |      C

group은 seq마다 생성되는 일련번호라 고정 데이터는 아니에요
이걸 쿼리로 가능할까요?
고수님의 답변을 기다립니다 ㅠㅠ
 

 

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

WITH t AS
(
SELECT 1 seq, 1 grp, 'A' v FROM dual
UNION ALL SELECT 1, 2, 'B' FROM dual
UNION ALL SELECT 1, 3, 'A' FROM dual
UNION ALL SELECT 1, 3, 'C' FROM dual
UNION ALL SELECT 1, 4, 'B' FROM dual
UNION ALL SELECT 2, 1, 'A' FROM dual
UNION ALL SELECT 2, 1, 'D' FROM dual
UNION ALL SELECT 2, 2, 'B' FROM dual
UNION ALL SELECT 2, 3, 'A' FROM dual
UNION ALL SELECT 2, 4, 'C' FROM dual
)
SELECT *
  FROM t
 PIVOT (LISTAGG(v, ',') WITHIN GROUP(ORDER BY v) FOR grp IN (1, 2, 3, 4))
;

마농(manon94)님이 2018-03-27 16:51:27에 작성한 댓글입니다.

 마농님 정말 감사드립니다만...
오라클 10G 버전이라 LISTAGG 함수가 안 먹히네요 ㅠㅠ
저걸 빼고 하려면 많이 복잡할까요? ㅠㅠ

 

초보자님이 2018-03-27 17:09:52에 작성한 댓글입니다. Edit

SELECT seq
     , MIN(DECODE(grp, 1, v)) v1
     , MIN(DECODE(grp, 2, v)) v2
     , MIN(DECODE(grp, 3, v)) v3
     , MIN(DECODE(grp, 4, v)) v4
  FROM (SELECT seq, grp
--           , SUBSTR(XMLAGG(XMLELEMENT(x, ',', v) ORDER BY v)
--             .EXTRACT('//text()'), 2) v                      --  9i
             , wm_concat(v) v                                  -- 10g
--           , LISTAGG(v, ',') WITHIN GROUP(ORDER BY v) v      -- 11g
          FROM t
         GROUP BY seq, grp
        )
 GROUP BY seq
;

Pivot 도 11G 부터

마농(manon94)님이 2018-03-27 18:15:57에 작성한 댓글입니다.
이 댓글은 2018-03-27 18:19:13에 마지막으로 수정되었습니다.

 마농님 정말로 감사드립니다!!!!

초보자님이 2018-03-27 19:17:30에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41545파라미터 분리하기 [2]
궁금
2018-04-04
217
41544cursor 문의 (마농님 부탁드립니다 !) [2]
Tevere
2018-04-02
229
41543UNION 대신 사용할 방법 [12]
초보자
2018-03-29
408
41541세로 데이터를 가로로 만들 때 [4]
초보자
2018-03-27
377
41540근무기간 구하기 [2]
IT재벌
2018-03-26
340
41539쿼리 질문드려요~ 답변부탁드립니다. [1]
잘될거다
2018-03-23
350
41538컬럼별로 카운트 하는방법 알려주세요 [3]
민재영
2018-03-22
385
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2017 DSN, All rights reserved.
작업시간: 0.072초, 이곳 서비스는
	PostgreSQL v10.1로 자료를 관리합니다