Database/query
오라클 세로를 가로로 만들기
다크곰
2011. 10. 4. 10:45
select 컬럼
, ltrim(sys_connect_by_path(컬럼,','),',') as 컬럼명
from (
select 컬럼
, menurole_id
, row_number() over (partition by 그룹컬럼 order by 정렬할컬럼) rn
, count (*) over (partition by 그룹컬럼 ) cnt
from 테이블명
) a
where level = cnt
start with rn = 1
connect by prior 그룹컬럼 = 그룹컬럼 and prior rn = rn-1
=============================================================
=============================================================
CONSRSEQ TRADENM RNK CNT
0 A건설(50) 1 5
0 B건설(15) 2 5
0 C건설(15) 3 5
0 D건설(10) 4 5
0 E엔지니어링(10) 5 5
=============================================================
위의 쿼리를 아래와 같이 보여주려면 위의 샘플을 이용해 쿼리를 작성 해야 한다.
=============================================================
=============================================================
위의 쿼리를 아래와 같이 보여주려면 위의 샘플을 이용해 쿼리를 작성 해야 한다.
=============================================================
TRADENM
A건설(50)+B건설(15)+C건설(15)+D건설(10)+E엔지니어링(10)
=============================================================
ltrim(sys_connect_by_path(a.tradenm,'+'),'+') as tradenm
=============================================================
ltrim(sys_connect_by_path(a.tradenm,'+'),'+') as tradenm