现在的位置: 首页 > 综合 > 正文

Oracle 递归查询

2014年01月25日 ⁄ 综合 ⁄ 共 415字 ⁄ 字号 评论关闭

 

te_terminalgroup表结构

id varhcar2(50)

parentid varhcar2(50)

数据是是树形,记录的父记录是parentid = id的记录 (不知道能看明白不)

举例:

记录1:id = 1,parentid = 0

记录2:id = 2,parentid = 1

可以假设parentid = 0 的记录为根节点

这样id = 2 的记录,他的父id = 1 (即id = 1的记录)

所以记录2是记录1的儿子

 

根据父组的ID遍历出所有子组(子组,孙子组等等)

SELECT * FROM te_terminalgroup t 

             START WITH t.parentid = '10190' CONNECT BY PRIOR t.ID = t.parentid;     

根据子组ID遍历父组(包括父亲,爷爷等等)

SELECT * FROM ut_terminalgroup t

START WITH t.ID = '10791' CONNECT BY PRIOR t.parentid = t.ID;

 

抱歉!评论已关闭.