끄적끄적/Programming
[Oracle] 여러 Row를 하나의 Row로 바꾸는 wm_concat
Nagarry
2012. 7. 24. 10:05
오라클 10g부터 쓸만한 함수가 추가된게 있다.
wm_concat이라는 건데, 특정컬럼의 여러 Row(행)를 하나로 concat해준다.
자, 아래와 같은 택배 테이블이 있다고 치자.
나가리라는 유저 앞으로 4개의 물건이 등록되어있는데,
이걸 조회하면 총 4개의 Row가 나온다.
근데 이걸 wm_concat을 이용하면 깔끔하게 1개의 Row로 조회할 수 있다.
콤마를 이용해 concat되어 있는데,
이건 사용하는 프로그램에서 splite같은 함수를 통해 손쉽게 배열로 끊어 담을 수도 있을 것이다.
한가지 주의해야 할 것은...
아래와 같이 여러 컬럼을 wm_concat하는 경우인데,
concat된 내용들이 정렬되어 들어가지 않고,
컬럼간 순서가 뒤죽박죽이 될 수 있다.
무심결에 2개 이상의 컬럼을 이런식으로 사용하다간...
맨붕이 올 수 있으니 주의
Google AdSense