We can create hierarchical queries using CTE
Here is the common example :
create table Employees
( id int primary key nonclustered, name varchar(50), boss int constraint FK_boss foreign key references employees(id)
)insert into employees values(1, 'Company CEO', null) insert into employees values(2, 'Manager 1', 1)
insert into employees values(3, 'Manager 2', 1)
insert into employees values(4, 'Manager 3', 1)
insert into employees values(5, 'Asst. Manager', 2)
insert into employees values(6, 'TeamLead1', 5)
insert into employees values(7, 'TeamLead2', 5)
insert into employees values(8, 'TeamMember1', 6)
insert into employees values(9, 'TeamMember2', 6)
insert into employees values(10, 'TeamMember3', 6)
insert into employees values(11, 'TeamMember4', 7)
insert into employees values(12, 'TeamMember5', 7) declare @employee_id as smallint
set @employee_id = 6
;with report(id, name)
AS
( SELECT id, name from employees where boss = @employee_id
union all
SELECT E.id, E.name from employees E JOIN report R on R.id = E.boss
)
Select * from report
Thursday, September 25, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment