将两个表中的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
相关文章