you need to recursive cte for thatdo like;With Sn_hierAS(SELECT sn,name,sn1,amt,cast(name as varchar(5000)) as pathFROM tableWHERE sn=sn1UNION ALLSELECT t.sn,t.name,t.sn1,t.amt,cast(h.path + '/'+ t.name as varchar(5000))FROM sn_Hier hINNER JOIN table tON t.sn1 = h.sn)SELECT LEFT(Path,CHARINDEX('/',Path + '/')-1),SUM(amt) AS tot FROM sn_HierGROUP BY LEFT(Path,CHARINDEX('/',Path + '/')-1)OPTION (MAXRECURSION 0)
------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/