Oracle中的层次查询
表结构:
tree_key  , p_id  , node_id  ,node_type  , depart_type    
     1    ,  0    ,    A1    ,   0       ,     null
     2    ,  A1   ,    B1    ,   1       ,      1
     3    ,  B1   ,    B2    ,   1       ,      2
     4    ,  B2   ,    B2    ,   2       ,     null
     5    ,  B2   ,    U1    ,   2       ,     nulltree_key: 表PK
p_id       :父节点ID
node_id :本节点ID
node_tpye:本节点类型(0公司,1部门,2用户)
depart_tpye:部门类型(1总部,2分部)    怎么用层次查询把树的结果表现出来?或者用其他查询方式.
从记录可以看出,用户ID和分部部门的ID相同,重点就是在这里,怎么才能让查询不进入死循环?请大虾们指点怎么样实现通用的SQL,现在真实数据也有这样的情况发生,所以请大家想想办法帮小弟解决下,如果有经验的大哥认为这样的记录不能用SQL实现树结构的查询请告诉在下...只有用程序控制NODE_ID为唯一字段要求结果:
level ,node_id ,node_type
  1   ,  A1    ,   0
  2   ,  B1    ,   1
  3   ,  B2    ,   1
  4   ,  B2    ,   2
  4   ,  U1    ,   2