you need to use Common Table Expression for that;With Hierarchy_CTEAS(SELECT memberid,membername,groupid,CAST(memberid AS varchar(max)) AS PathFROM membersWHERE groupid IS NULLUNION ALLSELECT m.memberid,m.membername,m.groupid,CAST(h.path + '/' + CAST(memberid AS varchar(10)) AS varchar(max))FROM members mINNER JOIN Hierarchy_CTE hON h.memberid = m.groupid)SELECT LEFT(path,CHARINDEX('/',path + '/')-1) AS MemID,SUM(billamount) AS AmtFROM Hierarchy_CTEGROUP BY LEFT(path,CHARINDEX('/',path + '/')-1) OPTION (MAXRECURSION 0)
------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/