WITH CTE(CD_ITEM, CD_MATL, LVL) 

 AS ( 

        SELECT CD_ITEM, CD_MATL, 1 AS LVL 

        FROM PR_BOM 

        WHERE CD_MATL  = 'ST630-0601' AND CD_COMPANY ='1000'    --(앵커멤버)

        

        UNION ALL 


SELECT C.CD_ITEM, C.CD_MATL, LVL+1 AS LVL --(재귀멤버)

        FROM PR_BOM C

        INNER JOIN CTE D

ON C.CD_MATL = D.CD_ITEM                            -- 조인 조건  

        WHERE C.CD_COMPANY ='1000'

 ) 

SELECT * FROM CTE 

'개발(MS-SQL)' 카테고리의 다른 글

CTE 재귀쿼리  (0) 2014.05.27
데이터베이스 강좌  (0) 2012.08.10
기존 프로시저를 임시테이블 가져와 응용하기  (0) 2011.04.25
Posted by swkhan
,