数据导入有关问题

数据导入问题
1.表A
    ID(主键)   姓名     手机号
        1             张三
        2             李四
        3             王五
        4             张三

    表B
                      姓名       手机号
                      张三         138
                      李四         139
                      王五         137  
                      赵六         133

用表B的手机号更新表A的手机号,或插入数据,表A中的姓名可能重复,如何做?

需要的结果如下:

    ID(主键)   姓名     手机号
        1             张三       138
        2             李四       139
        3             王五       137
        4             张三       138
        5             赵六       133


2.我其实要做的是数据导入,从Excel导入access数据库,表B是Excel导入生成的临时表,然后更新主表A,用Delphi实现.
    有没有更好的办法导入数据?


------解决方案--------------------
请到DELPHI版块去问吧
update a inner join b on a.姓名=b.姓名 set a.手机号=b.手机号

------解决方案--------------------
OR
update a inner join [EXCEL 8.0;DATABSE=D:\TEMP\123.XLS].[SHEET1$] b on a.姓名=b.姓名 set a.手机号=b.手机号
------解决方案--------------------
--从Excel中获取数据
SELECT * from [Excel 8.0;Database=D:\Test.xls].[Sheet1$]


--生成Excel数据
SELECT * into [Excel 8.0;Database=D:\Test1.xls].Sheet1 from 表名