1.sql原型:SELECT COUNT(DISTINCT ID) FROM SYS_ORGN_BASIC start WITH ORGN_CODE= (SELECT ORGN_CODE FROM SYS_ORGN_BASIC WHERE ID = ? ) CONNECT by prior ID = F_ORGN_ID;
2.解析:
select * from TABLE start with 根节点条件 connect by prior 循环条件(父节点 id = 子节点 parentId)由顶到底;
3.说明:
start with 表示从哪一行记录开始递归查询,即根节点 connect by 表示进行递归,后面跟递归条件 prior 表示前一条记录,表示上一条记录的Id = 下一条记录的ParentDeptId 比如上面的SQL语句就可以理解为,以Id 为1的记录为根节点,递归查询下一条记录的ParentDeptId = 前一条记录的Id