SQL语句实现,表1和表2字段名相同,如何将表2中存在但表1中没有的数据找出来,插入到表1中

如题所述

update 表1 set 表1.需更新的字段 from 表2 where 表1.关键字段=表2.关键字段
两个数据库之间更新数据一定要有一个“关键字段”,这个“关键字段”要两个数据库中都有,且不能重复。比如身份证号、自己特定的无重复序列号等。比如表2中有“身份证号”“年工资总额”两个字段,表1中有“身份证号”“家庭住址”两个字段,那么就可以用上述命令将“年工资总额”全部写到表1的相应的身份证号下,表1就有了三个字段的内容:身份证号、家庭住址、年工资总额。但更多的时候两个数据库并非互相包容的关系,而是“交集”的关系,这种情况更多的。自己试试吧,这条命令很有用的。适用于很多场合,多种作用。
您试着若有什么疑问可继续追问。追问

要用insert吧,后面判断怎么写啊

追答

用where ,
比如关键字段是sfzh 条件判断就是where biao1.sfzh=biao2.sfzh
你用的是什么?access、vf9.0、sql-sever,抑或其它?具体情况可能稍有不同。要学会灵活运用。殊途同归,并非只有一种方法。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-01
Insert 表1(a,b,c)
select 表2.a,表2.b,表2.c
from 表2 left outer join 表1
on 表1.a=表2.a
Where 表1.a is null
注:a字段是主键
第2个回答  2013-03-01
select * into 表3 from 表2 where A.关键字段 not in (select 关键字段 from 表1)
insert into 表1 select * from 表3
相似回答