手揣网教程:绿色安全纯净官方版,体验当今速度最快的浏览器!

ORACLE树结构查询--connect by语法详

时间:2024/7/12作者:未知来源:手揣网教程人气:

[摘要]CONNECT BY 语法置信自己能够从网上找到许多例子,在这里就不多说了。来描绘一下我碰到的问题。表(fnd_flex_value)中的数据是这样的:TYPE_ID PARENT_VALUE...

CONNECT BY 语法置信自己能够从网上找到许多例子,在这里就不多说了。来描绘一下我碰到的问题。

表(fnd_flex_value)中的数据是这样的:

TYPE_ID    PARENT_VALUE   CHILD_VALUE

139048      2701                      270101

139048      270101                27010101

139058      2701                       270101

139058      270101                   27010101

施行如下语句:

select * from fnd_flex_value ffv

where type_id=139048

start with child_value=270101

connect by prior child_value=ffv.parent_value;

施行后果为:

TYPE_ID    PARENT_VALUE   CHILD_VALUE

139048      2701                      270101

139048      270101                  27010101

139048      270101                  27010101

最初一条记载重复了两次,咱们想获得的后果应当只需前两条,那么第三条是怎么获得的呢,经由钻研,集体觉得能够是因为如下的缘由(假如不准确,请自己改正,呵呵):

在这段SQL的施行的时分,先施行了CONNECT BY,G最初才施行WHERE前提。

那么轮回获得的后果为:

第一次轮回(从start with child_value=2701)末尾找数据:

(1.1) 139048   2701 270101

(1.2) 139058   2701 270101

第二次轮回(从(1.1)末尾找数据:

(2.1) 139048   270101 27010101

(2.2) 139058   270101 27010101

第三轮回(从(1.2)末尾)找数据:

(3.1) 139048 270101   27010101

(3.2) 139058 270101   27010101

退出轮回,最初施行where type_id=139048

获得三条记载。

假如想获得准确的后果,SQL语句应改为

select * from

(select * from fnd_flex_value where type_id=139048)ffv

start with child_value=270101

connect by prior child_value=ffv.parent_value;

=====================================================================

connect by 是结构化查询顶用到的,其基本语法是:

select ... from tablename

where 前提3

start with 前提1

connect by 前提2;

例:

select * from table

start with org_id = 'HBHqfWGWPy'

connect by prior org_id = parent_id;

简单说来是将一个树状结构存储在一张表里,好比一个表中具备两个字段:

org_id,parent_id那么通过表现每一条记载的parent是谁,就能够构成一个树状结构。

用上述语法的查询能够取得这棵树的所有记载。


全新的路由器不仅让你更稳定快速地连接无线网络,更可以让家中的智能设备连接在一起。



关键词:ORACLE树结构查询--connect by语法详




Copyright © 2012-2018 手揣网教程(http://www.shouchuai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版