我有2个字段完全相同的表,一个是历史数据(H_Table),一个是Daily数据(D_Table)。由于数据源更新的原因,D_Table中数据有些是H_Table没有的,有些H_Table已有。所以在数据更新的时候,不是把B_Table的数据完全插入H_Table,而是只更新H_Table没有的记录。
例如:
H_Table:(更新前)
date case id event id country city
2015/11/01 11 01 CN BJ
2015/11/02 12 01 US CA
2015/11/02 12 02 US NY
D_Table:
2015/11/03 11 01 CN BJ(此条数据H_Table已有,所以不需要再添加到H_Table)
2015/11/03 11 02 CN XA
2015/11/03 12 03 US NJ
2015/11/03 13 01 JP TY
H_Table:(更新后)
2015/11/01 11 01 CN BJ
2015/11/03 11 02 CN XA
2015/11/02 12 01 US CA
2015/11/02 12 02 US NY
2015/11/03 12 03 US NJ
2015/11/03 13 01 JP TY(绿色为最终更新的记录)
insert into HTable (xx, xx,xx)
select * from D_table t1 join H_Table t2 on t1.xx = t2.xx where xx = xx
采用这种语法去添加。先查询出差异数据,再添加到表中。