- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
[Oracle|오라클] 여러 행(ROW)을 하나의 컬럼(COLUMN)으로 합치기 (WM_CONCAT)
2020.06.14 16:54
[Oracle|오라클] 여러 행(ROW)을 하나의 컬럼(COLUMN)으로 합치기 (WM_CONCAT)
WM_CONCAT 함수를 이용하여 손쉽게 여러행의 데이터를 한 컬럼으로 합칠 수 있다.
□ 방법 1. (WM_CONCAT 이용)
--가상 테이블 WITH TEST_TABLE AS ( SELECT '고구려' COUNTRY, '1대' ST, '동명성왕' KING_NM FROM DUAL UNION ALL SELECT '고구려' COUNTRY, '3대' ST, '대무신왕' KING_NM FROM DUAL UNION ALL SELECT '백제' COUNTRY, '1대' ST, '온조왕' KING_NM FROM DUAL UNION ALL SELECT '고구려' COUNTRY, '2대' ST, '유리왕' KING_NM FROM DUAL UNION ALL SELECT '백제' COUNTRY, '3대' ST, '기루왕' KING_NM FROM DUAL UNION ALL SELECT '신라' COUNTRY, '1대' ST, '남해왕' KING_NM FROM DUAL UNION ALL SELECT '신라' COUNTRY, '1대' ST, '박혁거세' KING_NM FROM DUAL UNION ALL SELECT '백제' COUNTRY, '2대' ST, '다루왕' KING_NM FROM DUAL UNION ALL SELECT '신라' COUNTRY, '1대' ST, '유리이사금' KING_NM FROM DUAL ) --조회 쿼리 SELECT COUNTRY , WM_CONCAT(KING_NM) KING_NM FROM TEST_TABLE GROUP BY COUNTRY
- WM_CONCAT 함수를 이용하여 여러행의 값을 하나의 컬럼으로 합칠 수 있다.
값의 구분은 쉼표(,)로 구분되어 합쳐진다.
□ 방법 2. (XMLAGG, XMLELEMENT 이용)
--가상 테이블 WITH TEST_TABLE AS ( SELECT '고구려' COUNTRY, '1대' ST, '동명성왕' KING_NM FROM DUAL UNION ALL SELECT '고구려' COUNTRY, '3대' ST, '대무신왕' KING_NM FROM DUAL UNION ALL SELECT '백제' COUNTRY, '1대' ST, '온조왕' KING_NM FROM DUAL UNION ALL SELECT '고구려' COUNTRY, '2대' ST, '유리왕' KING_NM FROM DUAL UNION ALL SELECT '백제' COUNTRY, '3대' ST, '기루왕' KING_NM FROM DUAL UNION ALL SELECT '신라' COUNTRY, '2대' ST, '남해왕' KING_NM FROM DUAL UNION ALL SELECT '신라' COUNTRY, '1대' ST, '박혁거세' KING_NM FROM DUAL UNION ALL SELECT '백제' COUNTRY, '2대' ST, '다루왕' KING_NM FROM DUAL UNION ALL SELECT '신라' COUNTRY, '3대' ST, '유리이사금' KING_NM FROM DUAL ) --조회 쿼리 SELECT COUNTRY , SUBSTR( XMLAGG( XMLELEMENT(COL ,',', KING_NM) ORDER BY ST).EXTRACT('//text()' ).GETSTRINGVAL() , 2) KING_NM FROM TEST_TABLE GROUP BY COUNTRY
- 첫번째 방법에 비하여 조금 복잡해 보이나 합쳐지는 값의 구분자를 쉼표(,) 뿐만 아니라 사용자가 직접 값의 구분자를 지정 할 수 있다. 또한 해당 값의 정렬을 지정 가능 하다.
□ 결과
○ 조회 전 (TEST_TABLE)

○ 조회 후

[출처] https://gent.tistory.com/15
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86959 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 79228 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95967 |
| 9 |
[Sample DB] DBeaver 데이터 dump(export)/restore(import) 방법
| 졸리운_곰 | 2024.07.08 | 2425 |
| 8 |
W3Schools sample Database sql dump
| 졸리운_곰 | 2020.05.16 | 1921 |
| 7 |
다운타임 없는 서비스 구현 패턴
| 졸리운_곰 | 2017.07.15 | 2042 |
| 6 |
[칼퇴족 김대리는 알고 나만 모르는 SQL 예제, mysql 변경 Sample DB SQL 책밥 출판
| 졸리운_곰 | 2017.04.04 | 2031 |
| 5 | [칼퇴족 김대리는 알고 나만 모르는 SQL 예제, Oracle Sample DB SQL 책밥 출판 | 졸리운_곰 | 2017.04.04 | 1844 |
| 4 | SQL Style Guide ; SQL 코딩 표준 | 졸리운_곰 | 2017.01.14 | 30795 |
| 3 |
SQL 기초 sample.pdf
| 졸리운_곰 | 2016.03.16 | 2063 |
| 2 | Select와 동시에 Delete 하기. | 졸리운_곰 | 2016.03.16 | 3113 |
| 1 |
SQL Explorer : Eclipse를 위한 RDMS 쿼리 도구
| 가을의 곰을... | 2013.11.27 | 2385 |

