日期:2014-05-19  浏览次数:20554 次

无限分类..我是可以分很多类,如何查询某一分类下所有的内容
表结构如下

id         name         rootid

这是一个无限分类..我是可以分很多类,但是如果我现在要查询某一分类下所有的内容....这个SQL要怎么写啊?  

1   a   0
2   b   0
3   c   1  
4   d   1
5   e   3

如果我要查询,1下面的所有分类,怎么写?  

结果应该是     c,d,e,因为e也是1的下级分类..

这要怎么写???哪位高手出面帮忙解决一下...谢谢

------解决方案--------------------
楼主可以考虑用这个格式,我也是在CSDN上看到的,一时找不到原帖,现在将原作者的意思说一下

id name rootid
1 a /0/
2 b /0/
3 c /0/1/
4 d /0/1/
5 e /0/1/3/

每个字段的上一级编号都是一条完整的路径,有点类似于数据结构中的树,如果要寻找某个节点A(假设id是2)的所有下属节点可以遍历整张表,通过匹配rootid是否包含有 /2/ 如果有,这该字段是节点A的下属节点之一。

希望对楼主有所帮助