insert into b (customername,amount)
select customername,amount
from a
where a.amount<500000
and not exists(select 1 from b where b.customername = a.customername and b.amount = a.amount)
纯粹就事论事的解决方法就是楼上这样的,不考虑任何性能或者其他问题。
笔试的时候这样就行了。
面试的话,你可以多讲讲,比如可以这样解决,但是,这样解决会有什么问题,巴拉巴拉巴啦啦,
顺便就可以提到,使用自增ID的弊病所在,
就是这儿出现的,因为你不能Insert 原始的ID进入新表,所以要么在新表种增加一个字段用于记录老ID,
要么就得用这种又蠢又慢的判断语句来避免重复数据了。