实现子孙树查询的经典SQL语句
下面介绍的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
【编辑推荐】
查询表结构的SQL语句
使用SQL语句查询时间段
巧用SQL语句删除重复记录
批量执行SQL语句的示例
教您使用SQL语句修改SQL主键
版权声明:
作者:后浪云
链接:https://www.idc.net/help/319691/
文章版权归作者所有,未经允许请勿转载。
THE END