본문 바로가기
개발 이야기/RDBMS

Oracle_LISTAGG함수, 여러 데이터를 한 Row에 표현

by 농개 2018. 5. 25.
반응형

어떤 그룹리스트를 화면에 뿌리는데 해당 그룹에 하위 아이템들을 동시에 뽑아 내야할 때

Oracle의 LISTAGG함수를 사용하면 된다.(Oracle 11g부터 지원되고, 이전버전에서는 WM_CONCAT이 있다.)


사용법은 아래와 같다.

1
2
3
4
5
6
SELECT deptname
  , (SELECT LISTAGG(empname,',') WITHIN GROUP (ORDER BY empname) 
       FROM tEMP 
     WHERE deptcd = A.deptcd) AS empnames
  FROM tDEPT A
 
cs


 

위와 같이 쓰면 부서 리스트를 뽑아오는데, 동시에 해당부서의 사원들을 ,로 구분해서 쭈욱~ 뽑을 수 있다.


반응형