728x90
반응형
WITH 임시테이블 AS (
실제 사용쿼리
UNION ALL
재귀돌릴 쿼리
INNER JOIN 임시테이블
)
SELECT * FROM 임시테이블
=> 임시테이블을 다시 재귀를 돌리면서 그 임시테이블에 데이터를 계속 넣는 작업을 함
예시)
WITH TBL_TEMP (parent, code, name, level,is_view ,seq_path)
AS
(
SELECT parent ,code, name, 1 as level,is_view ,
CONVERT(NVARCHAR (MAX), parent) + '/' + CONVERT(NVARCHAR (MAX), sort) + '/' + CONVERT( NVARCHAR(MAX), code) seq_path
FROM TBL_AA
WHERE code like '%'
UNION ALL
SELECT E.parent, E.code , E.name,( level + 1),E.is_view,
M.seq_path + '/' + CONVERT( NVARCHAR(MAX), E.sort) + '/' + CONVERT(NVARCHAR (MAX), E.code) seq_path
FROM TBL_AA AS E
INNER JOIN TBL_TEMP AS M ON E.parent = M.code
)
select * from TBL_TEMP
728x90
반응형
'MS-SQL SQL Server' 카테고리의 다른 글
MSSQL 트랜잭션 (0) | 2020.03.09 |
---|---|
MSSQL Cursor 사용법 (0) | 2020.03.09 |
MSSQL 특정문자가 포함된 프로시저 찾기 (0) | 2020.03.09 |
MSSQL 피벗 예시 (0) | 2020.03.09 |
MSSQL 테이블 정보 뽑아내기 (0) | 2020.03.09 |