树节点查询SQL【递归】
2017-04-13 10:41
387 查看
通用树状节点获取所有叶节点和支节点sql
--获取所有父节点的menu_item
select distinct s1_parent.*
from sys_menu s1_parent,sys_menu s2
where 1=1
and s1_parent.menu_id = s2.parent_id
--获取所有具体页面节点的menu_item
select s.*
from sys_menu s where s.menu_id not in
(select distinct s1_parent.menu_id
from sys_menu s1_parent,sys_menu s2
where 1=1
and s1_parent.menu_id = s2.parent_i
查找指定節點下的子結點:
查找指定節點的所有父結點:
http://www.myexception.cn/sql-server/338889.html
--获取所有父节点的menu_item
select distinct s1_parent.*
from sys_menu s1_parent,sys_menu s2
where 1=1
and s1_parent.menu_id = s2.parent_id
--获取所有具体页面节点的menu_item
select s.*
from sys_menu s where s.menu_id not in
(select distinct s1_parent.menu_id
from sys_menu s1_parent,sys_menu s2
where 1=1
and s1_parent.menu_id = s2.parent_i
查找指定節點下的子結點:
if object_id('Uf_GetChildID')is not null drop function Uf_GetChildID go create function Uf_GetChildID(@ParentID int) returns @t table(ID int) as begin insert @t select ID from tb where ParentID=@ParentID while @@rowcount<>0 begin insert @t select a.ID from tb a inner join @t b on a.ParentID=b.id and not exists(select 1 from @t where id=a.id) end return end go select * from dbo.Uf_GetChildID(5)
查找指定節點的所有父結點:
if object_id('Uf_GetParentID')is not null drop function Uf_GetParentID go create function Uf_GetParentID(@ID int) returns @t table(ParentID int) as begin insert @t select ParentID from tb where ID=@ID while @@rowcount!=0 begin insert @t select a.ParentID from tb a inner join @t b on a.id=b.ParentID and not exists(select 1 from @t where ParentID=a.ParentID) end return end go select * from dbo.Uf_GetParentID(2)
http://www.myexception.cn/sql-server/338889.html
相关文章推荐
- Oracle与SQL-Server数据库SQL"树查询"对比[按照父子节点关系递归拼接]
- SQL 递归树 子父节点相互查询
- 转载:SQL 递归树 子父节点相互查询
- SQL 语句技巧--递归查询机构和下属机构的用户数
- SQL递归查询部门
- 【转】关于"递归树形查询SQL"的好帖
- SQL查询多级节点方法
- sql递归表查询
- 使用SQL进行递归查询
- Oracle PL/SQL之递归查询 - CONNECT BY PRIOR
- 递归实现节点查询
- Oracle使用SQL语句进行递归查询
- SqlServer父节点与子节点查询及递归
- SQL With(递归 CTE 查询)
- SQL查询多级节点方法
- 一条SQL语句查询无限递归树所有数据
- sql递归表查询子类
- MSSQL中递归SQL查询语句实例说明-
- 【SQL精彩语句】SQL SERVER 2000中查询指定节点及其所有子节点的函数(表格形式显示)
- SQL查询递归