Try this:-set nocount onDECLARE @Temp Table(catid int,parentid int,catname varchar(2))INSERT INTO @Temp Values (1 ,0 ,'A')INSERT INTO @Temp Values (2, 0 ,'B')INSERT INTO @Temp Values (3, 1, 'A1')INSERT INTO @Temp Values (4, 2, 'B1')INSERT INTO @Temp Values (5, 0 ,'C')SELECT t1.catid,t1.catname as 'ParentName',t2.catid as 'ChildID',t2.catname as 'ChildName'FROM @Temp t1INNER JOIN @Temp t2ON t2.parentid=t1.catid
output :-catid ParentName ChildID ChildName----------- ---------- ----------- ---------1 A 3 A12 B 4 B1