declare @tmp1 table (TC_Id int,TC_PID int,TC_Name varchar(200),lev int)
insert @tmp1 select *,1 from @a where tc_ID=1
while @@rowcount>0
insert @tmp1 select a.*,1 from @a a,@tmp1 b where a.tc_pid=b.tc_ID and a.tc_ID not in (select tc_ID from @tmp1)
select * from @tmp1
while exists(select 1 from @你的表 where parid=0 and sortid not in (select sortid from @tmp1))
begin
insert @tmp1 select top 1 *,@i,@j from @你的表 where parid=0 and sortid not in (select sortid from @tmp1) order by sortid
while @@rowcount>0
begin
set @i=@i+1
insert @tmp1 select a.*,@i,@j from @你的表 a,@tmp1 b where a.parid=b.sortid and a.sortid not in (select sortid from @tmp1)
end
select @j=@j+1,@i=1
end
select * from @tmp1