티스토리 뷰

오라클을 사용하고 ONE TO MANY 관계인 테이블들을 조인해서 하나의 ROW로 보여 줄 때 편리한 함수입니다. 

 

Syntax

LISTAGG(<expression>, <seperator>) WITHIN GROUP(ORDER BY ...)

 

Example 

select 
    s.student_id
    , s.student_nm
    , LISTAGG(b.subject, ',') WITHIN GROUP (ORDER BY b.subject) subjects 
from student s 
    join subject b on s.student_id = b.student_id
where student_id = '1234'
group by s.student_id, s.student_nm
order by s.student_id 

one-to-many 관계인데 하나의 row로 뽑아 달라는 요청이 많은데 그럴 때 유용하게 쓸 수 있습니다. 

'DB' 카테고리의 다른 글

MYSQL - WITH 구문  (0) 2023.07.19
[Oracle]삭제 데이터 복구하기  (0) 2020.04.02
[mysql]암복화 예제  (0) 2020.04.02
[MyBatis]mapper에서 공통 property 사용  (0) 2020.04.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함