SQL 以及 MS ACCESS 中的 WHERE 和 INSERT INTO 问题
Problem with SQL and WHERE and INSERT INTO in MS ACCESS
我正在尝试将值从 Tab01 传输到 Tab02,条件是这些值不存在于 Tab02 中。这些表的列数不同,这就是为什么我不能使用 Insert Into * 但我必须命名各个列的原因。我的 SQL 声明是:
strsql = "INSERT INTO Tab02 (col01,col02,col04,col09)" & _
"SELECT Tab01.col01,Tab01.col02,Tab01.col04,Tab01.col09" & _
" FROM Tab01" & _
" WHERE NOT EXISTS (SELECT col01 From Tab01)"
没有 WHERE NOT EXISTS (SELECT col01 From Tab01) 最终一切正常,但条件没有任何反应。
正确的语法应该是什么?因此 transfer/copy 如果(例如作为参考)值 Tab01.col01 不存在于 Tab02.col02 中,则 Tab01 中提到的值在 Tab02 中(请准确地使用适当的特殊字符...因为 sql 众所周知,请原谅没有这么小的错误!)谢谢!
使用IN
或相关子查询:
INSERT INTO Tab02 (col01, col02, col04, col09)
SELECT Tab01.col01, Tab01.col02, Tab01.col04, Tab01.col09
FROM Tab01
WHERE NOT EXISTS (SELECT 1
FROM Tab01
WHERE Tab01.col01 = Tab02.col01
);
我正在尝试将值从 Tab01 传输到 Tab02,条件是这些值不存在于 Tab02 中。这些表的列数不同,这就是为什么我不能使用 Insert Into * 但我必须命名各个列的原因。我的 SQL 声明是:
strsql = "INSERT INTO Tab02 (col01,col02,col04,col09)" & _
"SELECT Tab01.col01,Tab01.col02,Tab01.col04,Tab01.col09" & _
" FROM Tab01" & _
" WHERE NOT EXISTS (SELECT col01 From Tab01)"
没有 WHERE NOT EXISTS (SELECT col01 From Tab01) 最终一切正常,但条件没有任何反应。
正确的语法应该是什么?因此 transfer/copy 如果(例如作为参考)值 Tab01.col01 不存在于 Tab02.col02 中,则 Tab01 中提到的值在 Tab02 中(请准确地使用适当的特殊字符...因为 sql 众所周知,请原谅没有这么小的错误!)谢谢!
使用IN
或相关子查询:
INSERT INTO Tab02 (col01, col02, col04, col09)
SELECT Tab01.col01, Tab01.col02, Tab01.col04, Tab01.col09
FROM Tab01
WHERE NOT EXISTS (SELECT 1
FROM Tab01
WHERE Tab01.col01 = Tab02.col01
);