当前位置: 首页 > 知识库问答 >
问题:

按日期排序查询两个表

惠诚
2023-03-14

因此,我有两个表,它显示的值类似于Facebook look-a feed。它们都有一个datetime列,名为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);

而且

$status2 = "OK";
$stmt2 = $link->prepare('SELECT id, ident, pp, date FROM sales WHERE status=? AND team IN (2, 3) ORDER BY date DESC LIMIT 20');
$stmt2->bind_param('s', $status2);

我该怎么做呢?

共有1个答案

饶德本
2023-03-14

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

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的教程/示例/文档。

 类似资料:
  • 我是AWS DynamoDB的新手,需要这里专家的指导。 我正在创建一个应用程序,它将显示一个事件列表,条件是事件日期必须大于今天的日期,并按事件日期降序。我的表架构如下所示: 分区键=eventid 排序键=eventdate 如果我使用关系数据库,我可以使用“SELECT*From事件,其中eventdate

  • 问题内容: 我想按日期订购。 例如 我已经尝试过: 伯,这是行不通的。 我得到这个代替: 你能帮我吗? 问题答案: 如果要按日期排序, 请将其存储为日期而不是字符串。 除非您的日期字符串的格式为,否则它不会按您希望的顺序排序。 数据库可以按原样进行足够的工作,而无需人们加倍努力,因此,您应该尽可能地避免我喜欢的 SQL体操。 将其存储为日期,然后(如果需要)使用日期函数以形式获取它。 这样会比您尝

  • 问题内容: 我知道这一定是相对简单的,但是我有一个JSON数据集,我想按日期排序。到目前为止,我无处不在遇到问题。现在,我将日期存储为。如果有帮助,我可以访问jquery,但是我意识到.sort()是本机JS。提前致谢。 问题答案: 假设您有一个javascript对象数组,只需使用自定义排序功能即可: Array 方法使用回调函数对数组进行排序,该回调函数传递给数组中的元素对。 如果返回值为负,

  • 问题内容: 我正在尝试按日期顺序显示文件数组(最后修改)。 我已经完成了遍历数组并将其排序到另一个数组中的购买循环,但是有没有更简单(更有效)的方法来做到这一点? 问题答案: *从PHP 7.2.0开始, *警告 已被弃用。强烈建议不要使用此功能。 为了后代的目的,如果在接受的答案中链接的论坛帖子丢失或不清楚,则所需的相关代码为: 在我的系统上对此进行了测试,并验证了它确实可以根据需要按文件mti

  • 我有一个JTable,它有两列,文件名和日期都被修改了。我为第一列添加了name String,并为第二个dateTime列添加了。 我将dateTime列呈现为字符串。 我还启用了 编辑2 我已经测试并弄明白了。如果使用DefaultTableModel而不重写它的getColumnClass()方法,那么在使用Date或Number列时会遇到麻烦。

  • 这是我在SQL Server上的查询: 使用JPA存储库的正确语法是什么? 我试过这个: 并收到此错误: 验证失败,无法查询方法 public abstract java.lang.Long com.finance.biblioteca.repository.NoleggioRepository.countByUtenteIdAndLibroId(java.lang.Long,java.lang.