Php 按日期查询两个表

Php 按日期查询两个表,php,mysql,sql,Php,Mysql,Sql,所以我有两个表,它们显示的值类似于Facebook的feed。它们都有一个名为date的date列,但我希望它们按date DESC一起排序 我认为加入是正确的方法(?),但不是很确定。有人能帮我吗 目前我有两个不同的查询: $status1 = "1"; $stmt1 = $link->prepare(' SELECT id , ident_1 , ident_2 , date , ident_1_points , i

所以我有两个表,它们显示的值类似于Facebook的feed。它们都有一个名为
date
date
列,但我希望它们按date DESC一起排序

我认为加入是正确的方法(?),但不是很确定。有人能帮我吗

目前我有两个不同的查询:

$status1 = "1";
$stmt1 = $link->prepare('
SELECT id
     , ident_1
     , ident_2
     , date
     , ident_1_points
     , ident_2_points 
  FROM duel 
 WHERE active=? 
 ORDER 
    BY date
');
$stmt1-> bind_param('s', $status1);


我应该怎么做呢?

如果您想要一个包含两个表中数据的连续列表,并且整个列表按日期排序,那么您可能需要在子查询中使用联合查询,然后对外部查询进行排序,类似这样:

SELECT * 
FROM
(
  SELECT id, ident_1, ident_2, date, ident_1_points, ident_2_points
  FROM duel 
  WHERE active=?

  UNION ALL

  SELECT id, ident, pp, date, NULL, NULL 
  FROM sales 
  WHERE status=? 
    AND team IN (2, 3)
  LIMIT 20
) list
ORDER BY date DESC 
老实说,从您的描述来看,这个要求不是100%清楚(在询问SQL问题时,示例数据和预期结果总是有帮助的),但我认为这非常接近您的需要

JOIN
似乎不合适,除非您想要一个结果集,其中每个表中的项目通过某个公共字段相互链接,并将它们组合在一起,以便并排获得所有列,在与另一个表匹配的数据旁边显示一个表中的数据

如果您不确定,我建议您阅读教程/示例/文档,其中说明JOIN的功能以及UNION的功能。

欢迎阅读。请参阅:
SELECT * 
FROM
(
  SELECT id, ident_1, ident_2, date, ident_1_points, ident_2_points
  FROM duel 
  WHERE active=?

  UNION ALL

  SELECT id, ident, pp, date, NULL, NULL 
  FROM sales 
  WHERE status=? 
    AND team IN (2, 3)
  LIMIT 20
) list
ORDER BY date DESC