2009. 9. 8. 15:09
Brain Trainning/DataBase
계층적 쿼리를 간단히 - 게시판 덧글에 유용한...
MS-SQL에서는 흠... 나름 어려웠던것 같은데..
요렇게 입력하면..
SELECT LTRIM(SYS_CONNECT_BY_PATH(품목코드, ','), ',')
INTO v_품목리스트
FROM (
SELECT 유통동향ID, 품목코드, 공통상품명,
ROW_NUMBER () OVER (PARTITION BY 유통동향ID ORDER BY 일련번호 DESC) RN,
COUNT(*) OVER (PARTITION BY 유통동향ID) CNT
FROM CM_CCT_품목매핑
WHERE 유통동향ID = p_유통동향ID
) A
WHERE RN = CNT
START WITH RN = 1
CONNECT BY PRIOR RN = RN - 1
AND PRIOR 유통동향ID = 유통동향ID;
요렇게 나온다.
쭈욱 연결해서 : 060102,060101,060101,060101
MS-SQL에서는 흠... 나름 어려웠던것 같은데..
요렇게 입력하면..
SELECT LTRIM(SYS_CONNECT_BY_PATH(품목코드, ','), ',')
INTO v_품목리스트
FROM (
SELECT 유통동향ID, 품목코드, 공통상품명,
ROW_NUMBER () OVER (PARTITION BY 유통동향ID ORDER BY 일련번호 DESC) RN,
COUNT(*) OVER (PARTITION BY 유통동향ID) CNT
FROM CM_CCT_품목매핑
WHERE 유통동향ID = p_유통동향ID
) A
WHERE RN = CNT
START WITH RN = 1
CONNECT BY PRIOR RN = RN - 1
AND PRIOR 유통동향ID = 유통동향ID;
요렇게 나온다.
쭈욱 연결해서 : 060102,060101,060101,060101
'Brain Trainning > DataBase' 카테고리의 다른 글
쿼리 및 시스템 튜닝 자료 (0) | 2009.11.12 |
---|---|
Sqlserver Host명 변경 (0) | 2009.11.12 |
Snapshot 생성 (0) | 2009.11.11 |
Backup 및 Restore (0) | 2009.11.10 |
테이블 파티션 (0) | 2009.11.08 |