我在MYSQL数据库中有两个表。一个用于博客帖子,一个用于视频。它们中的所有列均不同,只是其中一列是创建日期。
我想在我网站的主页上显示最新的帖子,无论是视频帖子还是博客帖子。因此,我想根据他们的共享日期列对其进行排序。这是我可以在MYSQL中完成的事情,还是必须将所有数据提取到php中,然后使用自己的函数对其进行排序。
我查找了其他答案,但是它们似乎都是表没有关系但共享相同列的情况。
为了使表在您建议的相同结果集中使用,您将需要一个UNION;但是UNION要求所有联合查询在其结果中具有相同的列。如果唯一的共同点是“日期”;你可能会做的最好的事情就是这样。
SELECT `date` AS postDate, 'Video' AS postType
, someVideoField, null as someBlogField
FROM video_table
UNION
SELECT `date` AS postDate, 'Blog' AS postType
, null as someVideoField, someBlogField
FROM blog_table
ORDER BY postDate
;
注意:实际上并不需要后面的别名,为了清楚起见,我倾向于这样做。同样,null as someBlogField
可能需要对该部分进行调整,以确保结果字段是可以接受并集后半部分的实际值的类型。前半部分确定字段类型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句