一个表:
商品分类编号 商品分类名称 编号父集ID
001 全部分类 0
002 方正系列 001
003 戴尔系列 001
004 方正鼠标系列 002
005 方正键盘系列 002
006 方正鼠标垫系列 004
父集ID是为了建树
--创建测试条件
create table mm (商品分类编号 varchar(50),商品分类名称 varchar(50),编号父集ID varchar(50))
insert mm select 001,全部分类,000
union all select 002,方正系列,001
union all select 003,戴尔系列,001
union all select 004,方正鼠标系列,002
union all select 005,方正键盘系列,002
union all select 006,方正鼠标垫系列,004
insert mm select 007,方正鼠标垫系列xilei,006
go
--测试
create procedure Product
@In varchar(50)
as
declare @mm varchar(50)
declare @c int
declare @a int
set nocount on
select identity(int,1,1) id ,* into #mm from mm
create table #t([id] int identity(1,1) ,商品分类编号 varchar(50),商品分类名称 varchar(50),编号父集ID varchar(50))
insert #t select * from mm where 商品分类编号=@In
set @mm=@In
set @c=1
select @a=count(*) from #t
while @c<=@a
begin
select @mm=商品分类编号 from #t where [Id]=@c
insert #t select * from mm where 编号父集ID=@mm
select @a=count(*) from #t
set @c=@c+1
end
select 商品分类编号,商品分类名称,编号父集ID from #t
go
select * from #t
go
exec Product 004
go
--删除测试条件
go
drop table mm
drop proc Product
商品分类编号 商品分类名称 编号父集ID
------------------------------------------------
004 方正鼠标系列 002
006 方正鼠标垫系列 004
007 方正鼠标垫系列xilei 006