在做oracle到mysql的移植问题,oracle用到了一个函数start with ...connect by 函数 用来实现层次查询和递归查询,请
问mysql中如何实现层次查询呢??紧急求救啊select * from tborgan start with organid =
            (select u.organid from tbuser u where u.username = 'admin')
connect by organid = prior organfatherid ;把这句oracle修改为mysql语句

解决方案 »

  1.   

    假如说有一张表emp表empid par_managid emp_name 几个字段吧
     1                zhangsan
     2       1         lisi
     3       2         wangwu
     4       2         zhaoliu
     5       3         sunqi
     6       4         zhuba就像这样一个表吧记录这间有层次 应该是递归查询 empid的记录作为跟节点 ,没有par_managid号
    每条记录是被打乱的 我怎么查询出这样的 记过集呢 应该是这样说吧有不女的地方请大神补充
      

  2.   

    尽快尽快啊用什么办法都行 什么存储过程 什么union all我都不懂 什么临时表 给我一个看的懂的
      

  3.   

    不明白,把你需要的结果贴出来:empid par_managid emp_name 
     1                zhangsan
     2        1       lisi
     3        2       wangwu
     4        2       zhaoliu
     5        3       sunqi
     6        4       zhuba想要得到的结果:
      

  4.   

    http://blog.csdn.net/acmain_chm/article/details/4142971
    MySQL中进行树状所有子节点的查询
    在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现。 但很多时候我们...
      

  5.   

    直接利用find_in_set函数配合这个getChildlst来查找 你的这个函数很好用 可不支持子查询 我们的getChildlst()里边要好几个根id,是一个子查询 ,而你的只能放一个数值。帮忙吧这个函数给改改http://blog.csdn.net/acmain_chm/article/details/4142971select getChildLst(    select organid from tbuserpurview where userid=1);
    你看有子查询就不能用了啊 
      

  6.   

    http://blog.csdn.net/acmain_chm/article/details/4142971
    MySQL中进行树状所有子节点的查询
    你说的不能做子查询还有其他方法吗? start with 我的后边是跟一个子查询 是一个根节点集合