玛丽亚来自工会的最新消息-或建议

时间:2018-09-19 21:02:40

标签: mysql mariadb mariasql

我有一个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进行更新,但是我无法弄清楚如何将其组合。

由于Archive和Current是相同的并且没有重叠,因此看来我应该UNION Archive和Current,然后更新摘要表?我也尝试过执行两个LEFT OUTER JOINS并过滤掉NULL,但是我仍然缺少一些东西。

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

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

谢谢您的建议

1 个答案:

答案 0 :(得分: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