我有三个表,我不知道它们是否都需要使用,但基本上我需要比较表A和表C,如果表A中有一个不在表C中的ID然后在表C中,ID将与该行中另一个单元格中的值一起添加。请参阅下面的示例:
原表A:
-------------------------
Sku | Status
-------------------------
ABC | Enabled
DEF | Enabled
GHI | Enabled
JKL | Disabled
MNO | Enabled
原表C:
-------------------------
Sku | Status
-------------------------
ABC | Enabled
DEF | Enabled
GHI | Enabled
查询表C:
之后-------------------------
Sku | Status
-------------------------
ABC | Enabled
DEF | Enabled
GHI | Enabled
JKL | Disabled
MNO | Disabled
答案 0 :(得分:1)
好问题!! 尝试使用类似的东西:
INSERT INTO TableC (SELECT * FROM TableA WHERE TableA.id NOT IN (SELECT id FROM TableC) )
答案 1 :(得分:1)
这适用于MySQL:
INSERT INTO b
SELECT *
FROM a
WHERE
NOT EXISTS
(SELECT * FROM b WHERE b.sku = a.sku);
答案 2 :(得分:0)
不确定mysql是否支持这种语法,但这也应该有效:
insert into c (sku, status)
(select sku, status from a where not exists (select null from c where c.sku = a.sku))
;