我有两个具有不同名称的相同表,我想使用某种查询将其合并到一个可用的数组数据集中。我听说UNION功能对此有好处,但我之前从未使用过它。
好的,这是一些伪表代码:
TABLE_1& TABLE_2
我用来从两个表中获取数据的查询是:
SELECT col_1, col_2 FROM TABLE_ WHERE ...
╔═════════╦═══════════╗
║ col_1 ║ col_2 ║
╠═════════╬═══════════╣
║ 37 ║ 1 ║
║ 37 ║ 2 ║
║ ... ║ ... ║
╚═════════╩═══════════╝
如何组合两个表中的数据来获取一个数据集?我还想更新数据集中的记录,但如果我不知道数据源自哪个表,我怎么能这样做呢?
提前致谢。
答案 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