Not sure if this will help you but this is how I do it:DECLARE @myTable table (CatID int, Category varchar(30), SubCatID int)INSERT INTO @myTableSELECT 1, 'Football', NULL UNION ALLSELECT 2, 'England', 1 UNION ALLSELECT 3, 'Premier League', 2 UNION ALLSELECT 4, '1. Div', 2 UNION ALLSELECT 5, '2. Div', 2 UNION ALLSELECT 6, 'Norway', 1 UNION ALLSELECT 7, 'Tippeligaen', 6SELECT a.CatID AS CatIDA, a.Category AS A, b.CatID AS CatIDB, b.Category AS B, c.CatID AS CatIDC, c.Category AS CFROM @myTable a INNER JOIN @myTable b ON b.SubCatID = a.CatID INNER JOIN @myTable c ON c.SubCatID = b.CatIDWHERE a.SubCatID IS NULL
--Lumbago"Real programmers don't document, if it was hard to write it should be hard to understand"