我每天都会转储某个数据库。我想要做的是将来自数据库的不同转储的特定表记录合并到一个表中。例如,如果我有第1天的表X和第2天的表X,这两个表基本上是相同的,具有重叠的记录。我想只得到一个表X,其中两个数据合二为一。该表有一个名为“id”的主键。
表X第1天
id field1 field2
1 0 0
2 1 2
表X第2天
id field1 field2
1 0 0
3 1 3
我需要什么:
表X
id field1 field2
1 0 0
2 1 2
3 1 3
最好的方法是什么?是否有可能在MySQL本身或我需要一个代码来处理它?</ p>
请注意:此表x存在于不同的数据库中。基本上我在MySQL中导入那些每日转储,它为每天提供了一个独特的数据库。
由于
答案 0 :(得分:0)
首先,您需要找到可以获得所需结果的查询,下一步是您可以创建一个类似create view tablex as
的视图来创建一个包含create table tablex as select ....
的表。
对于您的情况,您必须使用union
子句组合您的结果:
Select id, field1, field2 from table1
union
Select id, field2, field2 from table2
答案 1 :(得分:0)
INSERT INTO Tablex (id, field1, field2) VALUES
SELECT id, field1, field2
FROM someOtherTable
UNION
SELECT id, field1, field2
FROM anotherTable