oracle的start with connect by最近搞的系统丢单了,原因就是条件的位置写反了……
例如我的table是叫test,里面有三个字段,id ,name,parentid,isvalid
其中parentid是指某条数据的父级id,isvalid是指是否存在的意思。
例如以下两条sql:
select t.* from test t where t.isvalid = 'Y' and rownum = 1
start with t.id= '6896399B798952A7E040007F01000C7C'
CONNECT BY PRIOR t.parentid = t.id;
select t.* from test t where rownum = 1
start with t.id= '6896399B798952A7E040007F01000C7C'
CONNECT BY PRIOR t.parentid = t.id and t.isvalid = 'Y'
--------------
虽然看上去差不多,但是如果t.isvalid = 'Y' 是跟在 CONNECT BY后面,则表示,每次向上级查询时,必须是要存在的(t.isvalid = 'Y' )如果是放在前面,则表示当前这条'6896399B798952A7E040007F01000C7C'是要存在的,其余父级不需要是否存在
相关推荐
Oracle start with.connect by prior子句实现递归查询
oracle中的数查询,介绍的详细,有例子。
主要给大家介绍了关于Oracle递归查询start with connect by prior、的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
本文章详细介绍了Oracle中connect by...start with...的用法。
NULL 博文链接:https://yunqiang-zhang-hotmail-com.iteye.com/blog/1312354
在Oracle中用Start with...Connect By子句递归查询
Oracle 递归查询, start with connect by prior 用法 find_in_set 函数 concat,concat_ws,group_concat 函数 MySQL 自定义函数 手动实现 MySQL 递归查询 Oracle 递归查询 在 Oracle 中是通过 start ...
Oracle_start_with_connect_by_prior_用法[文].pdf
ORACLE查询树型关系(connect_by_prior_start_with)
oracle中 connect by prior 递归算法 Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的
oracle菜单树查询 使用实例 使用START WITH CONNECT BY PRIOR子句实现递归查询
Oracle row_number()over start with...connect by prior start with...connect by prior
Oracle使用递归查询。查询树结构的sql。在Oracle中,递归查询要用到start with ……connect by prior……
Oracle 数据库树形结构用法总结,例如SYS_CONNECT_BY_PATH 、START WITH . . . CONNECT BY . . .等具体语法介绍
详细介绍了,oracle的树状结构查询的语法start with… CONNECT BY…
Oracle SELECT语句中的START WITH和CONNECT BY子句自动阻断一个层次。缺少这项特性,就需要一个复杂的自联接来确定行之间的逻辑联系。START WITH子句指定被认为是层次起点,或“根”的一行或几行,然后CONNECT BY ...
介绍了将多行转为字符串的三种方案,并比较了三种方案的执行效率. 1.sys_connect_by_path + start with ... connect by ... prior + 分析函数 2.自定义Function/SP 3.使用 Oracle 10g 内置函数 wmsys.wm_concat
SQL>START test SQL>@test 常用SQL*Plus语句 a、表的创建、修改、删除 创建表的命令格式如下: create table 表名 (列说明列表); 为基表增加新列命令如下: ALTER TABLE 表名 ADD (列说明列表) 例:为test表...
export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export ORACLE_SID=cams export ORACLE_TERM=vt100 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data...