Php 按日期查询两个表
所以我有两个表,它们显示的值类似于Facebook的feed。它们都有一个名为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
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