将两个表中的mysql数据合并到一个数据集中并进行更新

时间:2014-01-06 16:22:13

标签: mysql union

我有两个具有不同名称的相同表,我想使用某种查询将其合并到一个可用的数组数据集中。我听说UNION功能对此有好处,但我之前从未使用过它。

好的,这是一些伪表代码:

TABLE_1& TABLE_2

我用来从两个表中获取数据的查询是:

SELECT col_1, col_2 FROM TABLE_ WHERE ...

╔═════════╦═══════════╗
║ col_1   ║   col_2   ║
╠═════════╬═══════════╣
║      37 ║         1 ║
║      37 ║         2 ║
║     ... ║       ... ║
╚═════════╩═══════════╝

如何组合两个表中的数据来获取一个数据集?我还想更新数据集中的记录,但如果我不知道数据源自哪个表,我怎么能这样做呢?

提前致谢。

1 个答案:

答案 0 :(得分:3)

使用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也是一个可以为您提供重复相同行的选项(根据您提供的数据,您似乎不需要这样)。

更新记录只会使用where col_1 = {value} and col_2 = {value2} ...无论哪个表是发起人。

编辑:此处工作正常http://sqlfiddle.com/#!2/71a88/1