我正在尝试使用以下语法插入表中:
INSERT INTO table1(
col1, col2, col3)
SELECT distinct
col1, col2, getDate()
FROM table2 WHERE NOT EXISTS(
SELECT 1 FROM table1, table2
WHERE ((table1.col1 = table2.col1) or (table1.col1 is null and table2.col1 is null))
AND ((table1.col2 = table2.col2) or (table1.col2 is null and table2.col2 is null)))
但是当我运行查询时,它显示(0 行受影响)。
NOT EXISTS 语句中的 SELECT 语句返回我不想插入的正确行数。如果我尝试在没有 WHERE NOT EXISTS 语句的情况下插入表中,它会插入所有内容。我只想插入尚未在 table1 中的行。