0
我这样做了,有一个非常基本的表结构在MySQL数据库中建立了自己的论坛,一个部门的一些工作:MySQL查询:获取最新的论坛后
每一个职位属于一个线程,每个线程属于一个类别。还有一个用户表作者信息。
TABLE category:
id (int)
name (varchar)
TABLE thread:
id (int)
category_id (int)
user_id ((int)
title (varchar)
last_post (int) -- logs a unix timestamp of the last posts insertion
TABLE post:
id (int)
user_id (int)
thread_id (int)
post (longtext)
timestamp (int)
TABLE users:
id (int)
username (varchar)
我试图创建一个页面,显示用户已张贴在(消息仅一次所有线程,因此如果用户已张贴INT线程3次应该还是显示只有一次列表)以及添加到每个线程中的最新帖子。
因此,这些都是我想选择字段:
类别名称
类别编号
主题标题
线程ID
最近添加的消息的消息ID线程
消息最近添加到该线程的消息的文本
作者最近添加到该线程的消息的用户ID
作者最近添加到该线程的消息的用户名
最近添加的消息发布的时间
它可以按线程的最近活动进行排序。
这是可能的一个查询?显然,一种简化这种方式的方法是查询用户发布消息的所有线程,然后为每个线程发送单独的查询以获取最近添加的发布信息。
谢谢!
我没有看到任何关联category - > thread - > post的候选列。你的外键关系是什么? – 2011-02-01 16:21:34
哦,男人。抱歉。我把它留在了外面......线程的category_id引用了分类表和发布的thread_id引用了线程表。希望有帮助..谢谢(我编辑了上面的帖子)。 – SqlSoul 2011-02-01 16:26:16