数据表
id reid linkname
1   0     aaa
2   0     bbb
3   0     ccc
4   0     ddd
5   1     aaaeee
6   1     aaafff
7   1     aaaggg
8   5     aaaeeehhh
9   5     aaaeeeiii
10  6     aaafffjjj
这是一个多级分类导航的数据表 (Mysql)
id为标识列,reid属于哪个上级类别的。
现在我想写一条查询语句。查询一个id的最底层的列表。
比如我查询1 就给我返回id为 7 8 9 10这四个列。
5虽然也是1分类下的,但是1下面还有子类别就不返回了。
如果查询的6 则结果为10求大神帮忙

解决方案 »

  1.   

    递归查询?
    MYSQL不支持递归查询,递归SP完成
      

  2.   

    参考示例:、
    http://wenku.baidu.com/view/2b98c522a5e9856a561260a9
      

  3.   

    没有,除非更换数据库 OR MYSQL下个版本加入对递归的支持
    OR 能确定有几级分类
      

  4.   

    我表示没看懂你的描述,有点乱
    【比如我查询1 就给我返回id为 7 8 9 10这四个列。】比如说这个是什么意思?1是reid?不是该返回567吗?
      

  5.   

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