I have the below table
empid empname managerID
1 A NULL
2 B 1
3 C 1
4 D 2
Declare @t table(empid int, empname varchar(20), managerID int)
insert into @t
select 1,'A',null union all
select 2,'B',1 union all
select 3,'C',1 union all
select 4,'D',2
;with CTE AS
(
Select empid,empname,managerID,
Cast(empname As Varchar(max)) As ReportingManager
from @T
where managerID is null
UNION ALL
Select T.empid,T.empname,T.managerID,
Cast(CTE.empname+'->'+t.empname As Varchar(max)) As ReportingManager
from @T As T
INNER JOIN CTE ON T.managerID=CTE.empid
)
SELECT *
FROM CTE