【问题标题】:ORDER BY date multiple tables [closed]按日期排序多个表[关闭]
【发布时间】:2013-04-24 05:45:42
【问题描述】:

我有一个包含我的用户的表格和一个包含他们关注的人的表格,我还有一个包含他们状态更新的表格。我需要按时间顺序排列的状态。我能想到的唯一方法是让他们关注的人,然后一个一个地获得他们的状态,这意味着它只对单身人士按时间顺序排列。例如。

Tyler - 在聚会上玩得很开心。时间:下午 1 点
泰勒——大家早上好。时间:上午 10 点
本 - 每个人都在做什么?时间:下午2点

编辑 ----------

用户表 状态表 追随者表

用户 1 关注用户 2。

【问题讨论】:

  • 你能显示你的表的数据结构吗?
  • 尝试使用连接。您可以在一个查询中获取所有内容。
  • 您想让我们猜测您的表架构吗?
  • 你的问题是什么?你想要什么?请澄清。
  • 已编辑以显示表格。

标签: mysql sql database


【解决方案1】:

您将要使用联接。

类似的东西:

SELECT b.name, a.status, a.datetime FROM statuses a JOIN users b ON a.userid = b.id WHERE a.userid IN (SELECT c.userid FROM people c WHERE c.follower = :followerid) ORDER BY a.datetime

【讨论】:

  • 你能解释一下这是做什么的吗?我以前从未使用过联接。谢谢。
  • 基本上我正在使用您的 3 个表,通过它们的 id 和外键将它们连接在一起,并通过另一个 select 子句过滤结果(位置)。尽管这确实超出了此类问题的范围。如果您不了解 Sql Joins,则需要阅读它们,否则这将毫无意义。这是一个帮助您入门的链接 - codinghorror.com/blog/2007/10/…
  • 不是我不懂,只是没用过。谢谢。
猜你喜欢
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
  • 2021-09-07
  • 2020-06-05
  • 1970-01-01
  • 2013-12-18
相关资源
最近更新 更多