php - 在MySQL中,如何从两个不同的表中选择*?

标签 php mysql

我在 MySQL 上有两个单独的表,我想进行一个查询,从这两个表中选择 *,并且我想按 id(或日期)对它们进行排序。问题是 id 会发生冲突,因为将有两篇具有相同 id 的文章(每个表中一篇)。

有没有一种方法可以在一个查询中显示每个表的所有文章?

编辑:

它们的列数不同。但是,我将选择每个列中的相同列。所以我会从表 1 和表 2 中选择“id、 map 、标题、摘要、图像、日期、发布”。 (因为两个表都有完全相同的列)。

然后我想在一个网页上显示 table1 和 table2 中的所有文章。在完全相同的网格中。

这是否可能,或者我是否需要合并 MySQL 中的两个表?

最佳答案

如果2个表的列数相同且对应列的数据类型相同,则可以使用UNION ALL:

SELECT * FROM table1
UNION ALL
SELECT * FROM table2
ORDER BY id

如果您还想区分行,以便知道它们来自哪个表,则可以为每个行创建一个虚拟的第一列,如下所示:

SELECT '1' fromtable, * FROM table1
UNION ALL
SELECT '2' fromtable, * FROM table2
ORDER BY id

关于php - 在MySQL中,如何从两个不同的表中选择*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55725967/

相关文章:

php - create_function() 参数中 undefined variable ?

php - 检查 foreach 循环中的下一个对象中是否存在值

php - 无法使用phpspreadsheet下载excel文件

php - Onclick 事件不起作用,Onmouse 事件却起作用

mysql - 在 MySQL 中有效的 GROUP BY 查询被 PostgreSQL 拒绝

mysql - 计算外键的数量

javascript - 在不知道唯一 radio 名称的情况下传递 radio 值

java - 如何验证下拉列表并将其保存在数据库中,并且代码不显示错误

mysql - 数据库架构中的文件夹

mysql - 统计每件售出的产品