George,
I've had a look at the code and see your principal, my final code is
declare @tbl1 table(ID int, CatID int, SubCatID int, Description varchar(35))
insert into @tbl1(id, catid,subcatid, description)
select 7, 7 , 0, 'Sprinklers' union all
select 8, 8 ...