无限级分类的查询问题,请高手指点?
在网上找了好久都没有找到想要的答案,特来请教。
做个无限分类文章系统
数据库表:
1、ClassTable
c_ID c_Name pID Depth Path
1 企业概况 0 1 1
2 企业动态 0 1 2
3 企业管理 0 1 3
4 企业简介 1 2 1:4
5 企业制度 1 2 1:5
6 员工制度 5 3 1:5:6
7 经营动态 2 2 2:7
8 内部动态 2 2 2:8
9 管理制度 5 3 1:5:9
2、ArticleTable
a_ID c_ID Path a_Title a_Content
1 4 1:4 企业历史.... .....
2 4 1:4 部门设置... .....
3 6 1:5:6 制度1... .....
4 6 1:5:6 制度2... .....
5 7 2:7 市场计划.. .....
6 3 3 管理办法1.. .....
7 3 3 管理办法2.. .....
8 9 1:5:9 管理制度1.. .....
分类表的treeview已实现,
现在主要问题是:1、我想在首页把所有的根级分类列出来,并列出该根分类的top 6篇文章,不管该根分类是否有子分类。
2、当我点击一个分类时(不管它是子分类还是根分类),把该分类的子分列出,并列出该根分类的top 6篇文章,不管该分类是否有子分类。
例如:点击 "企业概况 "时,应该列出列出:
企业简介
1 4 1:4 企业历史.... .....
2 4 1:4 部门设置... .....
企业制度
3 6 1:5:6 制度1... .....
4 6 1:5:6 制度2... .....
8 9 1:5:9 管理制度1.. .....
列出分类名的sql语句知道怎么写,主要读取文章的sql语句,请高手赐教?
顶者有分,谢谢.
[解决办法]
select top 6 * from ClassTable where Depth = '1 '
你讲查了很久都没解决
所以我写完都认为我写错了
哈
不知道到底有什么 问题
[解决办法]
lz好像把根和叶搞混了,说了这么多,1和2是一样的。
[解决办法]
JFJF
[解决办法]
1、ClassTable
c_ID c_Name pID Depth ParentId
1 企业概况 0 1 0
2 企业动态 0 1 0
3 企业管理 0 1 0
4 企业简介 1 2 1
5 企业制度 1 2 1
6 员工制度 5 3 5
7 经营动态 2 2 2
8 内部动态 2 2 2
9 管理制度 5 3 5
2、ArticleTable
a_ID c_ID a_Title a_Content a_datetime
1 4 企业历史.... ..... ......
2 4 部门设置... ..... ......
3 6 制度1... ..... ......
4 6 制度2... ..... ......
5 7 市场计划.. .....
6 3 管理办法1.. .....
7 3 管理办法2.. .....
8 9 管理制度1.. .....
起始 string sql= "SELECT TOP 6 * FROM ArticleTable ORDER BY a_datetime ";
每点击treeview目录调用 SELECT * FROM ClassTable WHERE ParentId=treeview点击的id号
同时sql= "SELEC TOP * FROM articleTable WHERE c_id= ' "+treeview点击的id号+ " ' ORDRE BY a_datetime ";
[解决办法]
也想写个,不过没头绪
[解决办法]
你的PATH呢?
PATH存成这样的格式-----:1:5:6:
select top 6 ......where path lick %:5:%.....
给加上分隔符,这样就算出现2或3位的ID都不会影响,而且也不会有问题,除非你ID有重复