通用树状节点获取所有叶节点和支节点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
查找指定節點下的子結點:
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
相关推荐
本文通过实例给大家介绍了sql server递归子节点、父节点sql查询表结构的实例解析,非常不错,具有参考借鉴价值,需要的的朋友参考下
给定一个节点ID,查询此节点下的全部节点,并将结果集保存在临时表中
sqlserver递归查询树结构的表的根结点子最里层的子结点
-- 用SQL Server取得树节点路径, 不用递归算法,不用游标,没有层次限制, 速度很快 -- 显示、打印用起来很方便的 -- print dbo.GetDeptPath('5cb3c3ee-4b2b-4005-8037-bb3876663d2e','->') -- select * from Dept
oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的。这篇文章给大家介绍了Oracle递归树形结构查询功能,需要的朋友参考下
SQL sever 中递归查找子节点和父节点,有实例SQL代码,直接运行
当初花了很长时间查资料、逛博客 终于搞定的排序 以及对于处理菜单列表显示的 问题。希望对你们有帮助。压缩包包含数据表创建脚本 以及 实现功能的语句 表结构字段 id、name、url、pid、indexs
sql递归查询1 A B Value ----------- ----------- ---------- 1 2 节点1 2 3 节点2 3 4 节点3 4 1 end 要达到的目的,已知一A字段的值,查询B字段的值,若B字段的值不为 "1 ",则返回Value, 并将B字段的值...
根据当前节点获取所有父节点信息(18代)SQL根据当前节点递归遍历获取所有父节点信息,短短的SQL可以解决复杂的问题
下面小编就为大家带来一篇使用递归删除树形结构的所有子节点(java和mysql实现)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
sql server 通过CTE来支持递归查询,这对查询树形或层次结构的数据很有用 一般的树形表结构如下,相信大家都很熟悉的 id title pid 1 1级节点 0 2 2级节点 1 3 3级节点 2 4 4级节点 3 5 5级节点 4 ...
主要给大家介绍了关于Oracle如何通过递归查询父子兄弟节点的相关资料,递归查询对各位程序员来说应该都不陌生,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
简介:mysql5.0.94版本,该版本以及较高级的版本(5.5、6等等)尚未支持循环递归查询,和sqlserver、oracle相比,mysql难于在树状表中层层遍历的子节点。本程序重点参考了下面的资料,写了两个sql存储过程,子节点...
VS2012+SQL2008,C#三层架构做的一个递归应用,主要功能有增加,删除,修改节点
很多人可能想要查询整个树形表关联的内容都会通过循环递归来查…事实上在微软在SQL2005或以上版本就能用别的语法进行查询,下面是示例。 --通过子节点查询父节点 WITH TREE AS( SELECT * FROM Areas WHERE id = 6 ...
背景 处理不确定深度的层级结构,比如组织机构,一个常用的设计是在一张表...最近在项目中使用PostgreSQL来查询树形数据,记录一下。 构造样本数据 drop table if exists demo.tree_data; create table demo.tree_d
用三层实现 1.递归加载数据库中的父子关系表(数据在DBData文件夹下) 主窗体有建表sql 2.输出模糊字符串,在树控件中递归查找所有包含该文字的节点, 以红色显示并让该节点可见
代码 博文链接:https://blueskylan.iteye.com/blog/848447
│ │ 8.2.2 树形数据深度排序处理示例(递归法).sql │ │ 8.2.3 查找指定节点的所有子节点的示例函数.sql │ │ 8.2.4 查找指定节点的所有父节点的示例函数.sql │ │ 8.2.5 校验插入指定结点是否导致编码循环的...