(整)根据ID返回树结构中所有叶子

根据ID返回树结构中所有叶子

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

ALTER  Proc Pro_List1(@TID varchar(225))
as
– Declare @TID Varchar(225)
– select * From T_Basic
– set @Tid=’0002-001′
Declare @Lev int
Declare @i int ,@n1 int,@j int
Declare @SubItemID Varchar(225)

select @lev=1
declare @t table(ItemID varchar(30),Itemname Varchar(225),ParentItemID varchar(225), lev int)
insert @t select a.BasicID,a.BasicName,a.ParentID,@lev from T_Basic as a
 where
a.BasicID=@TID –¼ÓÁËÕâµã

while @@rowcount<>0
begin
set @lev=@lev+1

insert @t
select a.basicID,a.BasicName,a.ParentID,@lev from T_Basic as a where a.ParentID in(select ItemID from @t where
lev=@lev-1)
end

select *From @t where Itemid not in (select ParentItemID from @t)

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

Random Posts

Leave a Reply