티스토리 뷰
계층구조 쿼리에 사용.
참조 : http://msdn.microsoft.com/en-us/library/ms186243%28v=sql.105%29.aspx
sample
WITH CTE_AE_CODE_H AS (
SELECT *
, 0 AS LEVEL
, CAST(RANK AS DECIMAL(20)) AS SORT --소팅(문자열로 변환 후 소팅해야 함)
, CAST(CODE_NAME AS VARCHAR(1000)) AS CODE_PATH
FROM IAMS.DBO.AE_CODE_H
WHERE 1 = 1
AND UP_CODE_ID = '*'
--AND UP_CODE_ID = 'ROOT_ASSET_TYPE'
UNION ALL
SELECT A.*
, R.LEVEL + 1 AS LEVEL
, CAST(R.SORT * 1000 + A.RANK AS DECIMAL(20)) AS SORT --소팅(문자열로 변환 후 소팅해야 함)
, CAST(R.CODE_PATH+' > '+A.CODE_NAME AS VARCHAR(1000)) AS CODE_PATH
FROM IAMS.DBO.AE_CODE_H A
INNER JOIN CTE_AE_CODE_H R ON A.UP_CODE_ID = R.CODE_ID
)
SELECT UP_CODE_ID
, CODE_ID
, CODE_PATH
, CASE WHEN LEVEL = 0 THEN '' ELSE REPLICATE(' ', LEVEL) + '└' END + CODE_NAME
FROM CTE_AE_CODE_H
WHERE 1 = 1
--AND LEVEL = 2
ORDER BY CAST(SORT AS VARCHAR(100)) ASC
;
'Dev > MSSQL' 카테고리의 다른 글
[MSSQL] truncate 권한부여 (0) | 2013.07.23 |
---|
- Total
- Today
- Yesterday
- 윈도우
- 김용
- EditPlus
- 법무부
- 헌혈
- 액땜
- connect by
- 안드로이드 앱
- VMware
- 최대 메모리
- 오라클
- 출근
- GB-P100
- Java
- 일하는 곳
- 파워콤해지
- 충동구매
- 무료 프로그램
- Git
- 금연
- Eclipse
- 낭패
- iBATIS
- 바이크
- ubuntu
- 정부과천청사
- oracle
- 출근길
- 짜증
- 프로젝트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |