我有一个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,但是我仍然缺少一些东西。
这是我应该在其上使用子查询的东西吗?
我对此完全陌生,只需要通过几个查询即可。我希望有人可以帮助我指出正确的方向。
谢谢您的建议
答案 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