오,
계층형 쿼리를 배운지 얼마 안되서,
또하나의 신기한 함수 발견.
요고를 이용하면 내가 원하는 순서대로,
특정 필드의 데이터를 한 row로 뽑을 수 있다.
어떻게 사용하느냐,,
아래와 같다.
1. 원하는 방식으로 rownum 생성.
SELECT '- ' || STS_CMT AS STS_CMT, ROWNUM AS NUM
FROM TABLEA
WHERE PJ_ID = '1234567890'
2. SYS_CONNECT_BY_PATH 사용, 원하는 필드와 구분자를 넣어줌
SELECT SYS_CONNECT_BY_PATH (STS_CMT,'<br>') STS_CMT
FROM (
SELECT '- ' || STS_CMT AS STS_CMT, ROWNUM AS NUM
FROM TABLEA
WHERE PJ_ID = '1234567890'
) a
START WITH NUM = 1
CONNECT BY PRIOR NUM = NUM - 1
3. MAX를 이용해서 가장 긴 데이터 추출, SUBSTR를 이용해서 맨 앞에 구분자 삭제.
SELECT SUBSTR(MAX( SYS_CONNECT_BY_PATH (STS_CMT,'<br>')),5) STS_CMT
FROM (
SELECT '- ' || STS_CMT AS STS_CMT, ROWNUM AS NUM
FROM TABLEA
WHERE PJ_ID = '1234567890'
) a
START WITH NUM = 1
CONNECT BY PRIOR NUM = NUM - 1
하나씩, 그렇게 배워가는 것,,
근데, 요새는 좀 버겁다..;; 줴길..
완주가 이렇게 힘든가..
덧글