У меня проблемы с запуском кода SQL в MS Access 2010. Я хотел бы попросить помощи в его просмотре и исправлении.
Данные:
- дватаблицы с именами: Tbl_001_WholeBase
и Tbl_002_NewKVG
- они соединены столбцом с именем Key
Проблема:
Я хочу удалить все строки из Tbl_001_WholeBase
с Key
, которого нет в таблице Tbl_002_NewKVG
Пример:
Tbl_001_WholeBase
ID Key
1 Hronic1
2 Hronic2
3 Hronic3
Tbl_002_NewKVG
ID Key
1 Hronic1
2 Hronic2
Поэтому в результате я хотел бы оставить в Tbl_001_WholeBase
только 3-ю запись, база будет выглядеть так:
ID Key
3 Hronic3
То, что я хотел использовать в Access, было:
DELETE
FROM Tbl_001_WholeBase
WHERE Tbl_001_WholeBase.KEY IN
(SELECT *
FROM Tbl_001_WholeBase
LEFT JOIN Tbl_002_NewKVG
ON Tbl_001_WholeBase.Key = Tbl_002_NewKVG.Key
WHERE (((Tbl_002_NewKVG.Key) Is Null)));
Подзапрос работает правильно, однако я не могу связать его с оператором Delete.
Ошибка при выполнении этого кода:
Вы написали подзапрос, который может возвращать более одного поля без использования зарезервированного слова Exists впредложение FROM основного запроса.Измените оператор SELECT подзапроса, чтобы запросить только одно поле.