sql 树形 子节点获取最顶级的节点
create table tb(id varchar(3) , pid varchar(3) , name varchar(10))
insert into tb values('001' , null , '广东省')
insert into tb values('002' , '001' , '广州市')
insert into tb values('003' , '001' , '深圳市')
insert into tb values('004' , '002' , '天河区')
insert into tb values('005' , '003' , '罗湖区')
insert into tb values('006' , '003' , '福田区')
insert into tb values('007' , '003' , '宝安区')
insert into tb values('008' , '007' , '西乡镇')
insert into tb values('009' , '007' , '龙华镇')
insert into tb values('010' , '007' , '松岗镇')
go --查询指定节点最上级父节点的函数
create function f_pid(@id varchar(3)) returns @t_level table(id varchar(3))
as
begin insert into @t_level select @id select @id = pid from tb where id = @id and pid is not null while @@ROWCOUNT > 0 begin delete from @t_level insert into @t_level select @id select @id = pid from tb where id = @id and pid is not null end return
end
go --调用函数查询005(罗湖区)的最上级父节点
select a.* from tb a , f_pid('005') b where a.id = b.id
/*
id pid name
---- ---- ----------
001 NULL 广东省 (所影响的行数为 1 行)
*/ --调用函数查询002(广州市)的最上级父节点
select a.* from tb a , f_pid('002') b where a.id = b.id
/*
id pid name
---- ---- ----------
001 NULL 广东省 (所影响的行数为 1 行)
*/ --调用函数查询001(广东省)的最上级父节点
select a.* from tb a , f_pid('001') b where a.id = b.id
/*
id pid name
---- ---- ----------
001 NULL 广东省 (所影响的行数为 1 行) drop table tb
drop function f_pid
转载自http://heisetoufa.iteye.com/blog/1530950
sql 树形 子节点获取最顶级的节点相关推荐
- activiti根据当前节点获取下一个UseTask节点
以前写过一篇文章activiti根据当前节点获取下一个节点信息,当时的需求只是需要获取下一个节点而已,并没有要求获得什么类型的节点,所以下一个节点可能是任何节点,在最近的项目中的需求是根据当前的节点获 ...
- mysql sql 取树结构_MySQL 树形结构 根据指定节点 获取其所有叶子节点
背景说明 需求:MySQL树形结构, 根据指定的节点,获取其下属的所有叶子节点. 叶子节点:如果一个节点下不再有子节点,则为叶子节点. 问题分析 1.可以使用类似Java这种面向对象的语言,对节点集合 ...
- mysql 叶子节点_MySQL 树形结构 根据指定节点获取其所有叶子节点
背景说明 需求:MySQL树形结构, 根据指定的节点,获取其下属的所有叶子节点. 叶子节点:如果一个节点下不再有子节点,则为叶子节点. 问题分析 1.可以使用类似Java这种面向对象的语言,对节点集合 ...
- mysql获取当前节点的所有叶子节点_MySQL 树形结构 根据指定节点 获取其所有叶子节点...
背景说明 需求:MySQL树形结构, 根据指定的节点,获取其下属的所有叶子节点. 叶子节点:如果一个节点下不再有子节点,则为叶子节点. 问题分析 1.可以使用类似Java这种面向对象的语言,对节点集合 ...
- elementui tree获取父节点_vue_elementUI_ tree树形控件 获取选中的父节点ID
一, vue_elementUI_ tree树形控件 1.1默认点击tree节点的第一个(注意不是checked选中) :expand-on-click-node="false" ...
- JQuery 各节点获取函数:父节点,子节点,兄弟节点
jQuery.parent(expr) //找父元素 jQuery.parents(expr) //找到所有祖先元素,不限于父元素 jQuery.children ...
- JavaScript中节点获取,节点的属性,如何操作节点
任何 HTML 或 XML 文档都可以用 DOM 表示为一个由节点构成的层级结构. 一般来说在HTML中文档的节点分为三种: 1.元素节点 通过querySelector获取的节点就是元素节点 ...
- activiti根据当前节点获取下一个节点信息
在流程中使用监听器判断当前节点是否需要经过,否则跳转到下一个节点,如下图 当提交申请之后,当前提交人为部门负责人,那么部门负责人节点就不需要走了,直接到下一个节点,但是下一个节点是什么并不知道,就可以 ...
- Java 树形结构数据生成--不需要顶级节点
概要 树形结构数据是后台开发中非常常见的一种数据结构.后台管理系统中必要的一种结构,常见的树形结构数据有,部门树,权限树等等,利用该数据结构可以让你的系统数据展示一目了然,并且为分配这些数据也提供了极 ...
- Java根据子节点获取最上层节点(根节点)数据和所有上级集合
目录 1 通过递归获取树形结构.通过父节点获取最底层节点(叶子节点)数据.树形XML,可以参考以下内容: 2 实体和数据结构 2.1 Dept实体类 2.2 相关树形结构 3 根据子节点获取最上层节点 ...
最新文章
- java 命名管道_利用Windows命名管道实现IPC的一种有效方法
- 1.6 Java数组也是一种数据类型
- OpenGL计算着色器
- 微博 用户画像_“肖战”被抵制?Python爬虫揭秘肖战粉丝的人群画像
- TCP/IP(五):TCP 协议详解
- 鲜为人知的Java 8功能:广义目标类型推断
- [转载] JVM(一):JVM体系结构详解
- 基于JavaScript的在线语音识别库Julius
- Android 隐藏、显示软键盘方法
- 用Maven创建第一个web项目Struts2项目
- a标签传值到另一个页面_用大头儿子和小头爸爸举例,就讲明白 vue 中父子组件的传值? | 原力计划...
- 继续教育自动听课软件_2017继续教育挂机软件下载
- 【源码】色度坐标计算器:计算CIE坐标并绘制
- bootstrap多文件上传和单文件上传
- 商誉风险只是局部爆发 市场整体业绩没那么糟
- linux 目录历史于特点,linux 返回上次历史目录
- 一文带你搞懂C#多线程的5种写法
- 极光笔记丨百亿级数据的实时存取优化与实践
- 二维数字图像相关算法软件Ncorr的使用心得
- AI视屏处理(C++)