댓글 0조회 수 27196
?

단축키

이전 문서

다음 문서

+ - 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


번호 분류 제목 글쓴이 날짜
9 PRACTICE SQL*Plus에서 &(Ampersand)/특수문자/Escape 사용법  secret 김형조 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
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 로그인 :)