繁体   English   中英

PHP / MySQL需要将两个表中的数据合并到一个对象中,并按日期对它们进行排序

[英]PHP/MySQL Need to merge data from two tables to one object and sort them by date

我的数据库中有两个表。 一个用于一种项目,第二种用于另一种项目(有些列相同,有些不同,第一个表包含23列,第二个表包含24列)。 用户可以添加这两种项目。 我不知何故需要所有这些项目,并按日期(时间戳列)对它们进行排序,因此,最先显示最近添加的项目。 项目是报价和需求(学生住宿)。

现在,我使用两个sql查询,并且要约是首先(按日期排序),然后是需求(按日期排序)。 但是此系统很糟糕,因为用户需要处理很多项目,然后才能浏览许多页面,然后才能找到需求。 所以我需要将其合并。

我的部分代码:

$sql = "SELECT * FROM table1 ORDER BY timestamp DESC";
if ($result = $mysqli->query($sql)) {
    while($obj = $result->fetch_object()){
    ...
}}

$sql1 = "SELECT * FROM table2 ORDER BY timestamp DESC";
if ($result = $mysqli->query($sql1)) {
    while($obj = $result->fetch_object()){
    ...
}}

您必须在查询中使用工会全部签出

SELECT  *

FROM (SELECT * FROM table1  WHERE "condition" UNION ALL SELECT * FROM table2 )

ORDER BY timestamp DESC;
select * from (
  SELECT * FROM table1
  UNION ALL
  SELECT * FROM table2) raw
ORDER BY timestamp DESC

您应该定义相同的列名称,并命令将它们合并。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM