关于ORACLE里的“子父互查”

在“子查父”里,结果是不包括子的;

在“父查子”里,结果也是不包括父的。

 

这就需要使用UNION将子或父自身连接进去。

 

附一个例子:

SELECT ORG_ID
  FROM NXCMUI.MGR_PURV_ORGANIZATION A
CONNECT BY PRIOR A.ORG_ID = A.SUPER_ID
 START WITH A.SUPER_ID = &S_ORG_ID;

 

NXCMUI.MGR_PURV_ORGANIZATION 就是一个组织机构表,&S_ORG_ID就是当前用户的组织机构,这段SQL查询出这个用户下属的所有组织机构,包括子子机构。

 

关键字:

CONNECT BY PRIOR 目标列 = BB(一般为SUPER_ID)

START WITH BB = 参数

你可能感兴趣的:(oracle,sql)