我有一个SQL Insert语句,只有当table2中不存在该记录或者table1中的邮政编码有变化时才需要将记录插入到另一个表中 . 我尝试了以下但它抛出一个错误,这是我正在寻找的逻辑:
INSERT INTO table2
SELECT id, zip
FROM table1 t1
JOIN table2 t2
ON t1.id = t2.id and t1.zip <> t2.zip
如果table2中的id根本不存在,我还需要它来插入记录 . 我用Google搜索了这个垃圾,似乎无法在任何地方找到解决方案 .
3 回答
那这个呢?
另外,请务必澄清您要求的哪个表的
id
和zip
列 .在插入时应始终包含列列表 . 其次,您的查询并不能完全捕获您的逻辑 . 您需要
left outer join
来查找第二个表中不存在的记录 . 也许这可能会做你想要的:你只需要一个WHERE NOT EXISTS子句