我在下面建模INSERT INTO SELECT
查询,它在功能上有效。什么没有包括,但我想包括一种方法来检查INSERT INTO
表中是否已存在wa_research
数据。
INSERT INTO wa_research C
(field1,
field2,
field3,
field4,
field5,
field6,
field7,
field8,
field9,
field10)
SELECT A.field1,
A.field2,
A.field3,
A.field4,
A.field5,
A.field6,
A.field7,
A.field8,
A.field9,
A.field10
FROM wa_tmp_listed A
LEFT JOIN wa_list B
ON A.field2 = B.field2
WHERE B.field2 IS NULL
我想在插入wa_research
之前检查并跳过C.field1
表中C.field2
,C.field3
,wa_research
组合的行。
我认为我可以使用额外的JOIN
执行此操作,因此,如果您有关于扩展JOIN
类型的建议或示例和/或指导我,我希望这样做会是有帮助的。
答案 0 :(得分:0)
您可以向WHERE
子句添加条件,并将NOT EXIST
与子查询一起使用:
INSERT INTO wa_research C (field1, field2, field3, field4, field5,
field6, field7, field8, field9, field10)
SELECT A.field1, A.field2, A.field3, A.field4, A.field5,
A.field6, A.field7, A.field8, A.field9, A.field10
FROM wa_tmp_listed A
LEFT JOIN wa_list B ON A.field2 = B.field2
WHERE B.field2 IS NULL
AND NOT EXISTS(SELECT *
FROM wa_research CC
WHERE CC.field1 = A.field1
AND CC.field2 = A.field2
AND CC.field3 = A.field3)