댓글 0조회 수 26734
?

단축키

이전 문서

다음 문서

+ - Up Down Comment Print
?

단축키

이전 문서

다음 문서

+ - Up Down Comment Print

오라클 여러 행을 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


Board Pagination ‹ Prev 1 Next ›
/ 1
Designed by hikaru100

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

SketchBook5,스케치북5

SketchBook5,스케치북5

SketchBook5,스케치북5

SketchBook5,스케치북5

O R A C L E L A B 로그인 :)