[ORACLE] 여러 행을 한 줄로 합치는 WM_CONCAT 함수 + WITH AS 임시테이블


[ORACLE] 여러 행을 한 줄로 합치는 WM_CONCAT 함수 + WITH AS 임시테이블

출처 : https://gent.tistory.com/15?category=360526 오라클 WITH AS 임시테이블 사용법. WITH AS는 임시테이블로써 보통 서브쿼리로서 사용한다. VIEW 와의 차이점은 VIEW는 한 번 생성하면 DROP 해주기 전까지 유지가 되지만, 이 쿼리는 일회용이다. 기존에 이렇게 출력되는 임시테이블이었지만, 하나의 Row로 나타내고자 한다. WM_CONCAT(BURGER) BURGER WM_CONCAT 함수를 통해 하나의 ROW 로 합칠 수 있다. 하지만 구분자가 , 로 고정이고 정렬이 불가능하다는 단점이 있다. SUBSTR( XMLAGG( XMLELEMENT(COL ,'$', BURGER) ORDER BY BURGER).EXTRACT('//text()' ).GETSTRINGVAL(), 2) BURGER 다음과 같이 사용하면 구분자를 선택할 수 있고, 정렬도 할 수 있다. 단점은 복잡해서 외우기 힘들다. 결과는 다음과 같다. WITH TEST_TAB...


#oracle #withas #wm_concat #여러행한줄로 #오라클 #임시테이블

원문링크 : [ORACLE] 여러 행을 한 줄로 합치는 WM_CONCAT 함수 + WITH AS 임시테이블