日期:2014-05-18  浏览次数:20422 次

SQL2008 有表A表B,二表有相同的列:姓名,电话,两个表中的电话不尽相同,想以表A为基础,把B表中有而A表中无的电话(含对应姓名)补充到A表,求语句。
如题,希望尽可能在原表中改变,或生成一个新表。(注,若A表B表同时都有的电话,若对应的姓名不同,姓名以A表为准。)

表A

姓名 电话
张三 5566742
李四 13088889999
赵五 13877776666

表B

姓名 电话
张三 5566742
王飞龙 13900001111
花SEX 13088889999

想在A表中改变成下表(或生成新表皆可)
姓名 电话
张三 5566742
李四 13088889999
赵五 13877776666
王飞龙 13900001111

谢谢!


------解决方案--------------------
SQL code
insert into 表A
 select * from 表B a
        where not exists(select 1 from 表A where 电话=a.电话)