У меня есть таблица в базе данных Access, где на записи можно ссылаться из любой из двух других таблиц.Мне нужно удалить записи из этой таблицы, если на них не ссылаются другие.Мое лучшее решение до сих пор состояло в том, чтобы создать подзапрос для возврата идентификаторов ссылочных записей и ссылки на подзапрос из запроса на удаление.(Подзапрос должен быть отдельным, так как Access не разрешает UNION во вложенных подзапросах.)
Итак ...
SelectQuery:
SELECT TableB.id FROM TableB INNER JOIN TableA ON TableB.id = TableA.id
UNION
SELECT TableC.id FROM TableC INNER JOIN TableA ON TableC.id = TableA.id
DeleteQuery:
DELETE * FROM TableA WHERE id NOT IN (SELECT * FROM SelectQuery)
Это мучительно медленно ... должен быть лучший способ?
Я пытался избежать добавления логического поля 'Used
' в TableA ...