다음과 같은 결과가 있다고 가정하자
select id, value
from test;
id | value |
1 |
a; |
1 | b; |
2 |
e; |
3 | c; |
3 | f; |
그런데 id 별로 아래와 같이 단순하게 다중로우를 단일로우값으로 붙여서 표현하고 싶다면??
id |
concat_value |
1 | a;b; |
2 |
e; |
3 |
c;f; |
그렇다면 아래와 같은 쿼리를 구현하면 된다.
select id, wmsys.wm_concat(value) as concat_value
from test
group by id;
==> 단, wm_concat 함수는 오라클 10g 이상의 버전에서만 사용이 가능하고,
아래와 같이 선언되어 있기 때문에 어떤 스키마에서도 실행이 가능하다.
GRANT EXECUTE ON WMSYS.WM_CONCAT TO PUBLIC;
CREATE PUBLIC SYNONYM WM_CONCAT FOR WMSYS.WM_CONCAT;
'Database > Oracle' 카테고리의 다른 글
[펌] 오라클과 MySQL의 그룹별 번호 매기기 (0) | 2013.03.18 |
---|---|
[펌] Oracle 11g For windows 삭제방법 (0) | 2013.02.11 |
[펌]Oracle DESC Index에 대한 Colunm 이름 찾는 방법 (0) | 2012.07.13 |
UNDO TABLESPACE 조회 (0) | 2012.07.10 |
[펌]윈도우7에서 오라클10g 설치하기 (0) | 2012.04.18 |