我有2个表(新数据和旧数据),并且想要查询旧数据中不存在的所有新行。
SELECT * FROM new
EXCEPT
SELECT * FROM prev
我想在VBA ADO中使用'EXCEPT / MINUS'运算符(使用Excel工作表作为表格)来执行此操作,但似乎EXCEPT不是可接受的运算符?
我遇到了运行时错误
[Microsoft][ODBC Excel Driver] Syntax error in FROM clause.
它只是ADO ODBC Excel驱动程序中没有的功能吗? 其他查询工作正常。
提前致谢!
答案 0 :(得分:2)
您需要在两个表之间执行LEFT JOIN
,然后仅选择 NewTable 中 OldTable 中没有相应条目的那些行。为此,您需要确定两个表中哪些字段相互对应。
SELECT * FROM NewTable
LEFT JOIN OldTable ON NewTable.Field1 = OldTable.Field1
WHERE OldTable.Field1 IS NULL