有没有办法改进这个查询...
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))
一开始不确定这是否有效.. 基本上..只想从Staging_Tbl中选择记录,如果相同的PAC-STORE组合当前不存在.. 如果PAC存在但是为另一个STORE,则是的,我们应该选择,反之亦然。
例如: 如果MasterTable如下所示,
PAC1 STORE1
PAC1 STORE2
PAC2 STORE1
PAC2 STORE2
如果暂存表中有像PAC1 STORE3这样的记录,而不是PAC1 STORE2,那么我只应该插入。
S.*
而不是*
。 - Andriy M