Is this correct?declare @emp table(EmployeeID int,BossEmployeeID int) insert @empvalues(1, NULL),(2, 1),(3, 1),(4, 2);With OrgHierarchyAS(SELECT counting = 0, * FROM @emp tWHERE NOT EXISTS (SELECT 1FROM @emp WHERE [BossEmployeeID] = t.[EmployeeID])UNION ALLSELECT oh.counting + 1, t.*FROM OrgHierarchy ohINNER JOIN @emp tON t.[EmployeeID] = oh.[BossEmployeeID])SELECT sum(counting) as counting,employeeidFROM OrgHierarchygroup by employeeidORDER BY [EmployeeID]OPTION (MAXRECURSION 0)