Hi All,
below is the recursive query where am trying to get no of employees under everyone beneath (direct reports and their direct reports, etc.)
main table has 39000 employees .
if i run for a one employee or for one manager the query run great but when i try to run entire table the query is taking too long to run and no results are displayed.
can you please help me with the query what am missing in query . am guessing query is going to infinite loop.
for Eg: given managernumber = 234565
employeenumber topmanager1 ----234565
222221 234565
608812 234565
619553 234565
424704 234565
201258 619553 topmanager2-----619553
623953 619553
647764 619553
424700 619553
employeenumber topmanager3-----647764
129452 647764
340822 647764
656814 647764
689540 647764
623433 647764
WITH EmployeeCTE
AS (SELECT e.employeenumber, e.ManagerEmployeeNumber as topmanager
FROM [dbo].[Employeetable ] e, [dbo].[employeetable] m
WHERE e.ManagerEmployeeNumber = m.employeenumber
UNION ALL
SELECT e.employeenumber, mgr.topmanager
FROM [dbo].[Employeetable ] e, EmployeeCTE mgr
WHERE e.ManagerEmployeeNumber = mgr.employeenumber)
SELECT *
FROM EmployeeCTE AS u
order by topmanager
OPTION (MAXRECURSION 0)