개발 이야기/RDBMS
Oracle_LISTAGG함수, 여러 데이터를 한 Row에 표현
농개
2018. 5. 25. 15:48
반응형
어떤 그룹리스트를 화면에 뿌리는데 해당 그룹에 하위 아이템들을 동시에 뽑아 내야할 때
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 |
위와 같이 쓰면 부서 리스트를 뽑아오는데, 동시에 해당부서의 사원들을 ,로 구분해서 쭈욱~ 뽑을 수 있다.
반응형