【发布时间】:2011-05-12 00:53:47
【问题描述】:
我正在尝试一次查询两个表以在“新闻源”中显示成员的活动。
所以,我有两个查询,但我想将它们合并:
$status_query = mysql_query("SELECT * FROM member_status_updates WHERE member_id = '1'"):
and
$topic_query = mysql_query("SELECT * FROM topics WHERE author_id = '1'");
如何组合这两个查询,以便在插入时按顺序显示它们?如果一个状态是在 5 秒前发布的,而一个主题是昨天发布的,那么状态更新应该在最前面。为此,我想我需要将这两个查询结合起来。
但我的另一个担忧是,如果我按ID DESC 对它们进行排序,会不会弄乱显示?例如:如果 1 秒前发布的状态更新的 ID 为 50,而昨天发布的主题的 ID 为 100,那么主题是否会首先出现,因为 ID 大于状态更新的 ID,即使状态更新发布于 1 秒前?如果是这样,那么我想知道如何按日期对它们进行排序,每条记录都有一个时间戳。
非常感谢任何帮助。
【问题讨论】:
-
应该返回哪些列以及每个表中的哪些列代表您要过滤插入时间的时间?
-
topics.author_id 和 memberstatus_status_updates.member_id 代表相同的东西吗?
-
应该为更新的“status_content”和主题的“title”返回的列。另外 - 是的,它将显示相同的用户 ID(@第二条评论)。
-
是应该始终从主题表中获取一行还是应该始终从 members_status_updates 表中获取一行,或者可能为空?