有改善查詢的方式..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