我需要使用同一张表的过去版本来更新具有过去缺失信息的表。需要进行更新,因为最近的表格中不再提供一些较早的信息。让 tableA 是 time0 的 table,tableB 是 time1 的 table,依此类推。我真正感兴趣的是最后更新的表格。
到目前为止,我已经尝试过这种方法;
create view _tableB
select *
from tableA
union
select *
from tableB a
where a.id not in (select id from tableA);
然后我继续:
create view _tableC
select *
from _tableB
union
select *
from tableC a
where a.id not in (select id from _tableB);
依此类推,直到我到达我创建表格的决赛桌。
create table _tableT
select *
from _tableS
union
select *
from tableT a
where a.id not in (select id from _tableS);
你看到这里有更好的东西吗?
PS:我不得不提到,对于每个观察,我可以有多种语言。信息是这样的
id|lguage1|lguage2|lguage3|
我用一个视图和这个方法把它放在了wide2long上。
id1|lguage1
id1|lguage2
id1|lguage3
id2|lguage1
信息不按 id 和语言排序。
谢谢。