CREATE TABLE BomTest

  TeamCode varchar(4)

 ,TeamName varchar(20)

 ,ParentCode varchar(4)

)

GO

Insert into BomTest(TeamCode, TeamName,ParentCode)

select '0001', '회사', '0000' union all

select '1001', '생산부', '0001' union all

select '1010', '생산1팀', '1001' union all

select '1011', '선행조립', '1010' union all

select '1012', '후행조립','1010' union all

select '1020', '생산2팀', '1001' union all

select '1021', '금형가공', '1020' union all

select '1022', '금형조립', '1020' union all

select '1030', '의장1팀', '1001' union all

select '1040', '의장2팀', '1001' union all

select '2001', '영업부', '0001' union all

select '2010', '영업1팀', '2001' union all

select '2020', '영업2팀', '2001' union all

select '3001', '자재부', '0001' union all

select '3010', '구매1팀', '3001' union all

select '3020', '구매2팀', '3001'

 


-----------------------------------------


Select * from BomTest



-----------------------------------------



with ctest (TeamCode, TeamName,ParentCode, level)

as 

(

   select TeamCode, TeamName,ParentCode , 0 as level  from BomTest  where ParentCode='0000'

union all

   select t.TeamCode, t.TeamName,t.ParentCode, (c.level+1)

   from BomTest t join ctest c on t.ParentCode = c.TeamCode

)

select * from ctest



'DBMS > MS SQL' 카테고리의 다른 글

값채우기 예) 1을 '01' 로 변환하기  (0) 2013.05.03
금액을 한글로 변환  (0) 2013.05.03
숫자 하나씩를 한글 또는 한문으로  (0) 2013.05.03
여러 행 데이터를 한줄로 보이게 하기  (0) 2013.05.03
db파일 복구.  (0) 2009.06.21

+ Recent posts