11g 에서 추가. 10g 이하는 WM_CONCAT 함수 사용
(WM_CONCAT은 페이지 하단 Link 참고)
사용방법
SELECT LISTAGG(가져올컬럼, 구분자) WITHIN GROUP (ORDER BY 순서컬럼)
FROM TABLE_NM
가공할 쿼리 조회
SELECT DEPT_NM FROM HRM_DEPT
위와 같이 한 컬럼에 대한 여러 값을 합쳐 보여줘보자
SELECT LISTAGG(DEPT_NM, ',') WITHIN GROUP (ORDER BY DEPT_NM) AS DEPT_NM
FROM HRM_DEPT
LISTTAG의 중복을 제외하기 - FROM절에서 SUBQUERY로 애초에 가지고 올 때 중복제거
SELECT LISTAGG (DEPT_NM, ',') WITHIN GROUP (ORDER BY DEPT_NM) AS DEPT_NM
FROM (SELECT DISTINCT DEPT_NM FROM HRM_DEPT)
출처: https://aljjabaegi.tistory.com/144 [알짜배기 프로그래머]
'Database' 카테고리의 다른 글
[ORACLE] CHAR, VARCHAR, VARCHAR2 (0) | 2020.03.15 |
---|---|
헷갈릴 수 있는 SQL 실행순서 (0) | 2020.03.05 |
[Oracle] FETCH 구문 사용하기 (1) | 2020.03.05 |
테이블 복사 / Script를 이용해 특정 계정 다시 초기상태 만들고 데이터 import 해오기 (0) | 2020.02.13 |
SUBSTR, RPAD, CASE AND문 (0) | 2020.01.10 |