0

我有一个 Maria DB,我正在尝试从另外两个表中更新一个表。存档表 - 昨晚 00 UTC 的时间戳数据。当前 - 从 00 到现在的时间戳数据。我想将两个表中的结果复制到汇总表中的列中。

Archive Table 
time|result
1   A
2   B
3   C
4   D
5   E

Current table:
time|result
6   1
7   2
8   3
9   4
10  5

Summary Table:
time|result
1   A   
2   B
3   C
4   D
5   E
6   1
7   2
8   3
9   4
10  5

我已经能够基于汇总表与存档或当前表之间的单个 INNER JOIN 独立进行更新,但我无法弄清楚如何组合它。

由于存档和当前是相同的并且不重叠,看来我应该将存档和当前合并,然后更新汇总表?我也尝试过执行两个 LEFT OUTER JOINS 并过滤掉 NULL,但我仍然遗漏了一些东西。

这是我应该使用子查询的东西吗?

我对此完全陌生,只需要通过几个项目查询。我希望有人可以帮助我指出正确的方向。

感谢您的任何建议

4

1 回答 1

0

从你的问题中我不确定你的Summary桌子是否是空的。

假设它是空的并且您需要填充它,那么UNION ALL就可以了,这不会删除重复项并节省时间(而不是UNION在引擎盖下对记录进行排序然后删除重复项):

insert into summary_table (time, result)
select time, result from archive_table
union all
select time, result from current_table
于 2018-09-19T21:20:48.787 回答