将两个表中的MySQL数据合并到一个数据集并更新

2022-07-04 00:00:00 union mysql
我有两个相同但名称不同的表,我希望使用某种查询将它们合并为一个可用的数组数据集。我听说Union函数在这方面很有用,但我以前从未使用过它。

好的,下面是一些伪表代码:

TABLE_1和TABLE_2

我将使用以下查询从两个表中获取数据:

SELECT col_1, col_2 FROM TABLE_ WHERE ...

╔═════════╦═══════════╗
║ col_1   ║   col_2   ║
╠═════════╬═══════════╣
║      37 ║         1 ║
║      37 ║         2 ║
║     ... ║       ... ║
╚═════════╩═══════════╝
如何将两个表中的数据组合在一起以获得一个数据集?我还想更新数据集中的记录,但如果我不知道数据来自哪个表,我该如何做?

提前谢谢。


解决方案

使用UNION:

(SELECT col_1, col_2, 'TABLE_1' AS original_table FROM TABLE_1 LIMIT 0,250)
UNION
(SELECT col_1, col_2, 'TABLE_2' AS original_table FROM TABLE_2 LIMIT 0,250)

更多信息:

UNION ALL也是一个选项,它将为您提供重复的相同行(根据您提供的数据,您似乎不需要这样做)。

更新记录只需使用...发起人是哪个表并不重要。

编辑:它在这里工作http://sqlfiddle.com/#!2/71a88/1

相关文章