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
조회수
20,124

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에 작성한 댓글입니다.

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

 

초보자님이 2018-03-27 17:09에 작성한 댓글입니다. 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에 작성한 댓글입니다.
이 댓글은 2018-03-27 18:19에 마지막으로 수정되었습니다.

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

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