oracle 递归查询根节点
来源:互联网 发布:淘宝运营流程 编辑:程序博客网 时间:2024/04/29 19:58
* SELECT * from XXX."XX" l where l.level_ = 1 start with l.id in (7150,16051,44402)connect by nocycle prior l.parent_id = l.id
参考:
今天在群里有个朋友问了
起始地 目的地 距离(公里)
A B 1000
A C 1100
A D 900
A E 400
B D 300
D F 600
E A 400
F G 1000
C B 600
请用SQL语句或一段代码写出从A出发,可达到的目的地(包括间接方式)。
这样的问题
create table dest(
sid char(1),
eid char(1),
distance int);
insert into dest values('A','B',1000);
insert into dest values('A','C',1100);
insert into dest values('A','D',900);
insert into dest values('A','E',400);
insert into dest values('B','D',300);
insert into dest values('D','F',600);
insert into dest values('E','A',400);
insert into dest values('F','G',1000);
insert into dest values('C','B',600);
很自然的就会想到
select sid from dest connect by prior eid=sid start with sid='A';
但是在运行时提示:ORA-01436: 用户数据中的 CONNECT BY 循环
这是a到e,又从e到a,有死循环......
解决方法:
SELECT distinct eid
FROM dest
START WITH SID='A'
connect by nocycle prior eid=sid
原来connect by里还有nocycle
- oracle 递归查询根节点
- oracle根节点递归
- oracle递归 遍历子节点 查询父节点
- 递归实现节点查询
- oracle 树状查询,查询根节点
- ORACLE 树形遍历查询根节点、父节点、子节点
- ORACLE 树形遍历查询根节点、父节点、子节点
- sql递归查询子节点
- mysql递归查询子节点
- 树节点查询SQL【递归】
- (递归查询)关于oracle树结构查询 展示 分组,查找父节点,查找子节点问题
- oracle 父子节点 查询
- oracle递归查询
- oracle 递归查询
- ORACLE的递归查询
- oracle 递归查询
- Oracle 递归查询
- Oracle递归查询
- 折腾Pycharm
- Mac下从安装Git到使用github进行版本控制(git命令/Xcode管理)
- 从携程事件给我们警示
- WINCE之“系统事件”——System/Events
- 关于Bananer定时上线实现思路
- oracle 递归查询根节点
- PorterDuffXfermode学习
- go web 第一个程序例子
- leetcode121---Best Time to Buy and Sell Stock
- Netty那点事(一)概述
- c#获取网卡的ip等信息
- 【网络流24题】【cogs461】餐巾
- 插件开发技术说明(5)---分页处理
- S-Nim - HDU 1536 SG函数