本帖最后由 ideatechinfo 于 2014-08-20 17:35:53 编辑

解决方案 »

  1.   

    mysql 不支持嵌套语句,所以,最简单的办法还是在你程序里解决其实不会效率太低,循环一遍就行支持嵌套的免费数据库比如有postgresql再或者 需要更改数据库的表结构,方法有几个,如果可以更改表结构再细说
      

  2.   

    http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
     这里有一个, 从The Nested Set Model那部分看看就行了
    这个的缺点是写的时候消耗太大,会动一个动全身再或者还有个办法没上面那个那么有理论依据但用着也挺爽就是加个path列,里面是当前行的所有parents比如你的表
    path
    /0000001/0000003/0000004
    /0000001/0000005/0000006写的时候只需要将parent的path取出加上parent的id即可,
    读的时候order by 这个path
      

  3.   

    不用存储过程或者临时表很难,毕竟mysql是开源的,不像Oracle这类直接支持prior伪列如果确实不想在数据库层面处理,程序里面读出来用递归函数取子节点
      

  4.   

    order  by  ip+parentid  这样行不行?
      

  5.   

    如果采用Mybatis框架该如何配置这种一对多的关联???
      

  6.   

    求一个java递归读取树状表的源码,来读取以上数据结构并生成json字符串,谢谢!