SQL语句实现子孙树查询经典实例

网络整理 - 07-27

下面介绍的SQL语句非常经典,该SQL语句实现子孙树查询,该SQL语句可以直接在查询分析器中执行,供您参考。

--生成表  create table MENU(id int,mname char(50),parent int)   --插入数据  insert into MENU   select 1,'新闻',Null union all  select 2,'房产',Null union all  select 3,'科技新闻',1 union all  select 4,'社会新闻',1 union all  select 5, 'IT新闻',3 union all  select 6, '航天新闻',3    --实现查询新闻子孙树  Declare @s varchar(1000)   select @s=','+cast(id as varchar(20))+'' from MENU where id=1  while  @@rowCount>0    --charindex:返回字符串中指定表达式的起始位置    select   @s=@s+','+cast(id as varchar) from MENU                   where charindex(','+cast(id as varchar)+',',@s+',')=0                   and   charindex(','+cast(parent as varchar)+',',@s+',')>0     select * from MENU where charindex(','+cast(id as varchar)+',',@s+',')>0   --删除表   drop table MENU