有改善查询的方式..SQL查询逻辑 - SQL Server 2008中
INSERT INTO mastertable
VALUES (SELECT *
FROM staging_tbl s
WHERE s.pac NOT IN (SELECT pac
FROM mastertable)
AND s.store NOT IN (SELECT store
FROM mastertable))
不知道这是否会在第一个地方工作.. Basically..want来选择记录从Staging_Tbl只有相同PAC-STORE组合目前不存在。如果PAC存在,但是对于另一个STORE..yes,我们应该选择,反之亦然。
对于例如:如果如果MasterTable是如下,
PAC1 STORE1
PAC1 STORE2
PAC2 STORE1
PAC2 STORE2
如果在临时表像PAC1 STORE3记录我应该只插入.. 和NOT PAC1商店2
LEFT JOIN版本需要一些修复。你想选择'S. *'而不是'*'。 – 2011-04-05 17:38:38
+1 - 无论如何只要使用'EXISTS',它就会运行得更快。 – JNK 2011-04-05 17:39:13
修正了左连接问题,谢谢 – SQLMenace 2011-04-05 17:40:40