VBA ADO Excel Драйвер SQL кроме / минус оператор - PullRequest
0 голосов
/ 30 мая 2018

У меня есть 2 таблицы (новые данные и старые данные), и я хочу запросить все новые строки, которых нет в старых данных.

SELECT * FROM new 
EXCEPT 
SELECT * FROM prev

Я хотел сделать это с помощью оператора «EXCEPT / MINUS» в VBA ADO (с использованием листов Excel в качестве таблиц), однако кажется, что EXCEPT не является принятым оператором?

Я получаю ошибку во время выполнения

[Microsoft][ODBC Excel Driver] Syntax error in FROM clause.

Это просто функция, которая недоступна в драйвере ADO ODBC Excel?Другие запросы работают просто отлично.

Заранее спасибо!

1 Ответ

0 голосов
/ 31 мая 2018

Вам нужно сделать LEFT JOIN между двумя таблицами, а затем выбрать только те строки в NewTable , у которых нет соответствующих записей в OldTable .Для этого вам необходимо определить, какие поля соответствуют друг другу в двух таблицах.

SELECT * FROM NewTable 
LEFT JOIN OldTable ON NewTable.Field1 = OldTable.Field1
WHERE OldTable.Field1 IS NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...