一个极富挑战性的问题--关于树形论坛

crystalinpara 2003-08-23 09:29:34


我在做一个树形论坛时,设计存放文章的数据库结构如下:

字段名 数据形式 说明
ID 自动编号 贴子编号
subject 文本 主题
Send_Date 日期/时间 发贴时间
Referance 数字 参考.即存放此贴回复的贴子的article_ID
Content 备注 内容
Sender 文本 作者
BrowsedCount 数字 已浏览次数
RepliedCount 数字 已被回复次数

该数据库有若干个表,每个表的数据结构是一样的,现在,为了在某一贴子有最新回复的时候保证其排在最上方,需要设计一个查询.将referance值为0(即此贴没有回复任何贴,称之为一个主题)
举例如下:
假设ID为1的贴子被ID为2,3,4的贴子所回复,而ID为2的贴子又为ID为8的贴子所回复,各贴发贴时间及Referance值如下:
ID 发贴时间 Referance
1 2003/4/1 0
2 2003/4/5 1
3 2003/4/6 1
4 2003/4/7 1
8 2003/4/8 2
当然数据库中还存在很多主题,如何用一个查询语句将所有主题选出,并按-----与它有回复关系(不管是一级回复,如贴2,3,4对于贴1,还是二级,三级回复,如贴8对于贴1)的所有贴中发送时间最晚的-------排序.比如,对于主题1(贴1)来说,这个最晚的回复时间就是2003/4/8,即贴8的发送时间.这也就是论坛中实现"顶"的功能,即一个贴子已经排后了,但通过一个回复可以使它重新排前.

不知道我的表达是不是很清楚,欢迎讨论!
...全文
48 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧