最近在做netCMS的二次开发,其中涉及到如题目的问题,该系统只提供了一级分类的文章数的统计和调用。数据库结构如下:新闻分类表:新闻列表:
问题:如何查询到一个分类下所有子分类(可能子分类下还有分类)的新闻?查了一些资料,貌似要用到递归调用,请大虾们帮忙解决下,感激不尽~~,100分送上!
问题:如何查询到一个分类下所有子分类(可能子分类下还有分类)的新闻?查了一些资料,貌似要用到递归调用,请大虾们帮忙解决下,感激不尽~~,100分送上!
主键 栏目名称 父ID
1 a null
2 b 1
3 c 1
4 d 3…………………
懂?
父ID为空就是没有父亲 没有老爸 那你就是老爸了 你就是 父栏目
如果父ID不为空 那么他就是 父ID所对应栏目 的下一级
…… 一次类推
懂?
http://topic.csdn.net/u/20100510/17/0c48e26c-25a2-41ba-87d8-c78ebad9fc97.html
1,2
1,2,3
1,2,3,4那么我用,ParentIDPath like '1,2,%'就可以找到他的所有子分类。================也可以是这样ParentIDPath01
0102
010203
01020304那么我用,ParentIDPath like '0102%'就可以找到他的所有子分类。
(
SELECT classID ,parentID , className
FROM TB
WHERE classID = 你要查的classID
UNION ALL
SELECT A.classID, A.parentID , A.className
FROM TB AS A JOIN T AS B ON A.PID = B.ID
)
SELECT * FROM T ORDER BY ID
(
SELECT classID ,parentID , className
FROM TB
WHERE classID = 你要查的classID
UNION ALL
SELECT A.classID, A.parentID , A.className
FROM TB AS A JOIN T AS B ON A.parentID = B.classID
)
SELECT * FROM T ORDER BY classID