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 |