PHP、PDO、MYSQL—如何按时间戳对两个不同表中的行进行排序?

PHP、PDO、MYSQL—如何按时间戳对两个不同表中的行进行排序?,php,mysql,Php,Mysql,我们有两个不同的表,其结构如下: 狗\u表: 身份证 门柱 狗狗日 猫桌: 身份证 cat_柱 猫日 在浏览器中,我想在这样的时间轴中显示猫狗的帖子: 因此,狗乇柱应位于左侧,猫乇柱应位于右侧。 我已经花了几天时间来解决这个问题,我很清楚,如果我想以适当的方式显示帖子,我必须按提交日期将表和显示帖子结合起来 以下是一个例子: 'SELECT * FROM dogs_table, cats_table ORDER BY dogs_table.dog_date, cats_table.ca

我们有两个不同的表,其结构如下:

狗\u表:

  • 身份证
  • 门柱
  • 狗狗日
猫桌:

  • 身份证
  • cat_柱
  • 猫日
在浏览器中,我想在这样的时间轴中显示猫狗的帖子:
因此,狗乇柱应位于左侧,猫乇柱应位于右侧。 我已经花了几天时间来解决这个问题,我很清楚,如果我想以适当的方式显示帖子,我必须按提交日期将表和显示帖子结合起来

以下是一个例子:

'SELECT * FROM dogs_table, cats_table ORDER BY dogs_table.dog_date, cats_table.cat_date DESC';
当我试图在浏览器中显示值时,它们看起来非常混乱,崩溃了。
此外,我尝试使用几种联合方式,但也不起作用。我正在寻求帮助,以正确的查询和正确的方式组合这两个表,并在提交帖子的日期前显示帖子,如果可能的话

您可以使用UNION组合两个表,并使用ORDER BY子句对结果进行排序

下面的MySQL查询应该会得到您想要实现的结果

SELECT cat_posts as posts, cat_date as date, 'cats' as type from cats_table
UNION
SELECT dog_posts as posts, dog_date as date, 'dogs' as type from dogs_table
ORDER BY date desc
查询单个表时,您将为每个列(POST和date)使用别名,以便可以使用ORDER BY on date列

您还需要确定哪些行来自狗\u表表,哪些行来自猫\u表


因此,您将添加一个名为type的虚拟列,并分别为dogs\u tablecats\u table将其值设置为dogs和cats。

您可以使用UNION组合两个表,并使用ORDER BY子句对结果进行排序

下面的MySQL查询应该会得到您想要实现的结果

SELECT cat_posts as posts, cat_date as date, 'cats' as type from cats_table
UNION
SELECT dog_posts as posts, dog_date as date, 'dogs' as type from dogs_table
ORDER BY date desc
查询单个表时,您将为每个列(POST和date)使用别名,以便可以使用ORDER BY on date列

您还需要确定哪些行来自狗\u表表,哪些行来自猫\u表


因此,您将添加一个名为type的虚拟列,并分别为dogs\u tablecats\u table将其值设置为dogs和cats。

将其设为一个table是的,这是最简单的方法,但如果dogs和cats将有一百万个帖子,我该如何维护这样的表呢?就像世界上任何其他表一样,嗯,我还是不确定在一个表中保留两行带有帖子是一个好主意。。。特别是如果我想在将来补充的话。或者我完全错了,没事吧?是的,你完全错了。类似的数据应始终存储在单个表中。这是关系数据库设计的基础规则。将其设为一个表是的,这是最简单的方法,但如果狗和猫有一百万个帖子,我将如何维护这样的表?就像世界上任何其他表一样,我不知何故仍然不确定在一个表中保留两行帖子是一个好主意。。。特别是如果我想在将来补充的话。或者我完全错了,没事吧?是的,你完全错了。类似的数据应始终存储在单个表中。这是关系数据库设计的基础规则。谢谢你的回答!但它不工作,因为我需要它。。。它将两个表合并在一起,并将dog_柱和cat_柱显示为一个表。但我需要它在两个不同的栏目中(谢谢你的回答!但它不起作用,因为我需要它…它将两个表合并,并将dog_posts和cat_posts显示为一个表。但我需要它位于两个不同的列中…:(