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

无限制分类问题
类别表   pclass
ID     title     parentid
1       aa           0
2       bb           1
3       cc           2
4       xx           0

产品表   product
ID     title     classid
1       A             3
2       B             2
3       C             1
4       D             4
比如     1级   aa   2级   bb   3级     cc
A产品的类别ID是   cc  
B产品的类别ID是   bb
C产品的类别ID是   aa
如果要列出类别为   aa的所有产品即这A,B,C个产品   这个SQL怎么写?

------解决方案--------------------
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的下属节点之一。

希望对楼主有所帮助