我正在尝试在SQL Server 2008中执行如下查询:
INSERT INTO TABLE_2 (id, name)
SELECT t1.id, t1.name
FROM TABLE_1 t1
WHERE t1.id NOT IN (SELECT id FROM TABLE_2)
NOT IN
处理我已经在TABLE_1
中拥有一个值的情况,但是当TABLE_2
中存在重复的值而{{1}中还没有重复值时,我会收到错误消息}。有办法解决吗?
问题是我的TABLE_1
对TABLE_1
具有唯一的约束,但是我的id
没有约束,并且不能更改。
答案 0 :(得分:2)
如何在选择中添加DISTINCT以避免重复值?
INSERT INTO TABLE_2 (id, name)
SELECT DISTINCT t1.id, t1.name
FROM TABLE_1 t1
WHERE t1.id NOT IN (SELECT id FROM TABLE_2)