댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
오라클 여러 행을 1개의 문자열로 SELECT
1: n의 테이블 구조인경우
1명이 여러개의 직급을 갖고 있는 경우 SELECT 하면...직급의 갯수만큼 아래와 같이 행이 조회된다.
GoldFish 금붕어 사장
GoldFish 금붕어 대표이사
GoldFish 금붕어 부장
이것을 아래와 같이 SELECT 하는 방법을 고민했다..
GoldFish 금붕어 사장,대표이사,부상
이전에는 오라클 function으로 하였으나..DBA가 함수 사용을 제한하는군..
아래는 TN_LBIC 테이블과 TN_LBICCPTDPT 테이블이 1 : n의 관계이다.
그리고 TM_ORG 는 부서테이블..
LBIC_ID 에 여러개의 부서가 붙어있는경우다..
결과는
LBIC_ID 부서1, 부서2,부서3 ....
부서의 갯수와 상관없이 결과가 구분자 ','로 합쳐져서 나온다.
SELECT LBIC_ID
, SYS_CONNECT_BY_PATH(ORG_NM, ', ') ORG_NM
FROM (
SELECT B.ORG_CD
,A.LBIC_ID
,B.ORG_NM
,ROW_NUMBER () OVER (PARTITION BY LBIC_ID ORDER BY A.ORG_CD) RN
,COUNT (*) OVER (PARTITION BY LBIC_ID) CNT
FROM TN_LBICCPTDPT A,
TM_ORG B
WHERE A.ORG_CD = B.ORG_CD
AND A.LBIC_ID = 1049000000031
)
WHERE rn = cnt
START WITH rn = 1
CONNECT BY PRIOR RN = RN - 1
AND PRIOR LBIC_ID = LBIC_ID
번호 | 분류 | 제목 | 글쓴이 | 날짜 |
---|---|---|---|---|
9 | PRACTICE |
SQL*Plus에서 &(Ampersand)/특수문자/Escape 사용법
![]() |
김형조 | 2013.09.27 |
8 | FUNCTIONS | 함수목록 | 김형조 | 2012.02.21 |
7 | DBA_ | DBA HIST Views - 11.2.0.1 | 김형조 | 2012.02.16 |
6 | PRACTICE | Not Exists 를 이용한 차집합 데이터 Insert | 관리자 | 2012.02.12 |
5 | PRACTICE | 열->행 변환 사례 3 | 관리자 | 2012.02.12 |
4 | PRACTICE | WMSYS.WM_CONCAT vs ListAgg [1] | 관리자 | 2012.02.12 |
» | PRACTICE | 오라클 여러 행을 1개의 문자열로 SELECT | 관리자 | 2012.02.12 |
2 | PRACTICE | 행 -> 열 변환 사례 2 | 관리자 | 2012.02.12 |
1 | PRACTICE | 열->행 변환 사례 1 | 관리자 | 2012.02.12 |