用SQL描述树
/*40条(1层)
SELECT COUNT(*) FROM t01_mwfl WHERE AZFSDM=01 AND LEVEL=1 START WITH PID=0 CONNECT BY PRIOR ID=PID
*/
SELECT * FROM t01_mwfl WHERE AZFSDM=01 AND LEVEL=1 START WITH PID=0 CONNECT BY PRIOR ID=PID SELECT LEVEL FROM t01_mwfl WHERE AZFSDM=01 AND LEVEL=1 START WITH PID=0 CONNECT BY PRIOR ID=PID /* 210条(2层)
SELECT COUNT(*) FROM t01_mwfl WHERE LEVEL =2 AND AZFSDM=01 START WITH PID=0 CONNECT BY PRIOR ID=PID
*/
SELECT * FROM t01_mwfl WHERE LEVEL =2 AND AZFSDM=01 START WITH PID=0 CONNECT BY PRIOR ID=PID SELECT LEVEL FROM t01_mwfl WHERE LEVEL =2 AND AZFSDM=01 START WITH PID=0 CONNECT BY PRIOR ID=PID /*395条(3层)
SELECT COUNT(*) FROM t01_mwfl WHERE LEVEL=3 AND AZFSDM=01 START WITH PID=0 CONNECT BY PRIOR ID=PID
*/
SELECT * FROM t01_mwfl WHERE LEVEL=3 AND AZFSDM=01 START WITH PID=0 CONNECT BY PRIOR ID=PID SELECT LEVEL FROM t01_mwfl WHERE LEVEL=3 AND AZFSDM=01 START WITH PID=0 CONNECT BY PRIOR ID=PID
select * from WQGM_2V.t01_mwfl where azfsdm='' and pid=0 and id in
(
--通过字符串处理
select substr(substr(path,2),1,instr(substr(path,2),'/')-1) pid from (
--取大于某层的树路径
SELECT sys_connect_by_path(id,'/') as path FROM WQGM_2V.t01_mwfl WHERE LEVEL>2 AND AZFSDM=01 START WITH PID=0 CONNECT BY PRIOR ID=PID
)
) /*三层*/ /**/
SELECT ID,NAME,ROWNUM FROM WQGM_2V.t01_mwfl
WHERE PID=0
AND AZFSDM=''
AND ID IN
(
SELECT ID FROM WQGM_2V.t01_mwfl MINUS
(
SELECT ID FROM WQGM_2V.t01_mwfl MINUS
SELECT PID FROM WQGM_2V.t01_mwfl
)
)
ORDER BY ID
/**/
SELECT ID,NAME,ROWNUM,LEVEL FROM WQGM.t01_mwfl
WHERE PID=0
AND AZFSDM=''
AND ID IN
(
SELECT ID FROM WQGM.t01_mwfl MINUS
(
SELECT ID FROM WQGM.t01_mwfl MINUS
SELECT PID FROM WQGM.t01_mwfl
)
)
START WITH PID=0 CONNECT BY PRIOR ID=PID
ORDER BY ID /*四层*/
SELECT b.id,a.path,a.name FROM
(
SELECT id FROM WQGM.t01_mwfl MINUS
(
SELECT id FROM WQGM.t01_mwfl MINUS
SELECT pid FROM WQGM.t01_mwfl
)
) b
,
(
SELECT id,sys_connect_by_path(id,'/') as path,sys_connect_by_path(name,'/') as name,level as lv
FROM WQGM.t01_mwfl WHERE azfsdm=01 START WITH pid=0 CONNECT BY PRIOR id=pid
) a
WHERE a.id=b.id AND lv>1
用SQL描述树的更多相关文章
- 【转】用SQL实现树的查询
树形结构是一类重要的非线性结构,在关系型数据库中如何对具有树形结构的表进行查询,从而得到所需的数据是一个常见的问题.本文笔者以 SQL Server 2000 为例,就一些常用的查询给出了相应的算法与 ...
- sql遍历树
oracle有直接的sql来遍历一颗树的子节点和父节点 遍历一个节点的所有子节点(classid的值就是该节点的值) select * from organization_ a start with ...
- sql无限级树型查询
表结构如下: 表数据如下: 一提到无限级,很容易想到递归,使用sql 的CET语法如下 with menu(Id,Name,ParentId,Level) as ( select Id,Name,Pa ...
- SQL 递归树 子父节点相互查询
if object_id('[tb]') is not null drop table [tb] go create table [tb]([modeid] int,modename varchar( ...
- 转载:SQL 递归树 子父节点相互查询
if object_id('[tb]') is not null drop table [tb] go create table [tb]([modeid] int,modename varchar( ...
- SQL Server 树查询
WITH treeAS(SELECT ParentAssetID, AssetID,1 AS x2level,nodename,CAST(nodename AS NVARCHAR(max)) x2na ...
- SQL SERVER树型数据处理时,函数递归调用问题,查询根节点,子节点函数
/* 标题:查询指定节点及其所有子节点的函数 作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 时间:2008-05-12 地点:广东深圳 */ ) , pid ) , name )) ' , n ...
- sql 递归树
with CTE as ( -->Begin 一个定位点成员 select ID, PersonName,ParentID,cast(PersonName as nvarchar(max)) a ...
- SQL描述(2)
很久之前就想写出来,就是因为自己太懒,憋了怎么久.本文关于使用ORACLE分析函数对一些经济指标进行计算.表indi_value有3个关键的字段:indi_date,indi_value,indi_i ...
随机推荐
- spring定时器用Annotation兑现
spring定时器用Annotation实现 0人收藏此文章, 我要收藏发表于3个月前 , 已有46次阅读 共0个评论 1.ApplicationContext.xml配置 a).需要在xmlns里面 ...
- webstorm的默认project编码为系统编码GBK.
使用新的IDE,而不会设置,会给你带来灾难. 如下为我是用webstorm时遇到的文件编码问题. 纳闷很久,终于发现是IDE的设置问题. 参考
- c++ primer复习(三)
1 istream.ostream类型,cin.cout.cerr是istream或ostream类型的具体的对象,<<和>>是操纵符 getline函数的参数是istream ...
- [C#]异步委托使用小计
APM(=Asynchronous Programming Model(=异步编程模型)) 使用 IAsyncResult 设计模式的异步操作是通过名为 Begin操作名称 和 End操作名称 的两个 ...
- setInterval和setTimeout定时器
1,文本框自增(重零开始)每隔一秒递增1 <input type="text" name="name" value="0" id=&q ...
- echo、print、print_r、printf、sprintf、var_dump的区别比较
一.echoecho() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并不 ...
- PHP实现斐波那契数列非递归方法
斐波那契数列,又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n ...
- mysql添加超级管理员
mysql>create user 'myroot'@'localhost' identified by 'myroot'; mysql>grant all privileges on * ...
- 在ios开发中有多少常用的加密解密方式(备用)
最常用的是MD5和base64编码,还有DES 3DES AES加密 ios怎么实现RAS加密解密 最近几天折腾了一下如何在iOS上使用RSA来加密.iOS上并没有直接的RSA加密API.但是iOS提 ...
- [原博客] POJ 1704 Georgia and Bob
题目链接题意:如图,Georgia和Bob在玩游戏.一个无限长的棋盘上有N个旗子,第i个棋子的位置可以用Pi表示.现在Georgia先走.每个人每一次可以把一枚棋子向左移动任意个格子,但是不能超越其他 ...