用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 ...
随机推荐
- asp.net:验证控件中ValidationExpression的写法
手机号:"\d{11}"传真号:"\d{7,12}" EMAIL: ".{2,15}@.{2,15}\..{2,4}" 邮箱正则表达式:/^ ...
- 暑假集训(2)第一弹 -----Is It A Tree?(Poj308)
A - Is It A Tree? Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:10000KB ...
- e+开发中的各种问题
1.数据交换后走的查询公式还是controller所配置的公式
- 检查mysql数据库是否存在坏表脚本
#!/bin/bash #此脚本的主要用途是检测mysql服务器上所有的db或者单独db中的坏表 #变量说明 pass mysql账户口令 name mysql账号名称 data_path mysql ...
- C#实现记事本查找功能
private void button1_Click(object sender, EventArgs e) { if (!(String.IsNullOrEmpty(this.textBox1.Te ...
- Windows加密视频播放器使用教程
1. 下载文件 http://pan.baidu.com/s/1c2aESQs 2. 操作流程 温馨提示 播放时,请务必保证播放设备联网(原因:用户名权限验证需要网络,播放后10秒即可关闭网 ...
- FBX SDK 从2012.1 到 2013.3 变化
==================================================== ============================== 译文 ...
- 【javascript 函数基础知识】
函数实际上是对象,每个函数都是 Function 类型的实例,而且都会与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定. [概念标签] ...
- 有很多功能交给IIS实现就好了啊,之前干嘛要自己写?
比方说设置默认主页啊,错误页伪静态之类的
- Oracle 基础知识
SQLDevelop 1. 查看数据库版本 : select * from v$version; 2. 查看表结构: desc TABLE_NAME 3. 查看当前连接 ...