У меня есть две таблицы в базе данных Access, Table1 и Table2 с точно такой же структурой, но Table1 имеет больше данных. Я хочу выяснить, какие данные мне не хватает в таблице2. Первичный ключ для каждой таблицы состоит из текстовых полей:Сравнение двух таблиц доступа, идентичных по структуре, но не данных
- CenterName
- BuildingName
- FloorNo
- RoomNo
Каждый центр может иметь множество зданий и двух различных центров может иметь одноименное здание. Номера номеров и номера этажей могут быть одинаковыми в разных зданиях и разных центрах.
Я попытался
SELECT t1.CenterName, t1.BuildingName, t1.FloorNo, t1.RoomNo, t2.CenterName
FROM Table1 as t1 LEFT JOIN Table2 as t2 ON t1.CenterName=t2.CenterName
WHERE t2.CenterName Is Null;
Но выше не возвращает никаких данных, то есть все эти центры находятся в обеих таблицах. Но это не говорит мне ничего о остальной части полей, которые могут отсутствовать в таблице2. Может ли кто-нибудь помочь в повторном написании моего запроса, чтобы он работал так, как предполагалось?
Я привык к базе данных SQL Server, поэтому создание запросов в Access для меня немного трудоемко. Прежде чем переносить все данные в SQL Server для анализа, я хотел посмотреть, могу ли я получить какую-либо помощь здесь.
Это дает мне ошибку РЕГИСТРИРУЙТЕСЬ неподдерживаемый – ElenaDBA
я только сейчас тестирование в Access 2010, созданный * Table1 * и * Table2 * с этими 4 текстовых полей в качестве первичного ключа в каждом. Добавлены данные в эти таблицы. Вставил SQL из этого ответа в SQL View нового запроса ... и он бежал без ошибок, извлекая запись * Table1 *, которая не существует в * Table2 *. Я не понимаю, почему это терпит неудачу для вас. Если вы разместите копию своего db на сайте обмена файлами, я рассмотрю его. – HansUp
Извините, это было плохо, я сделал опечатку. Я побежал, и он побежал, но разбился. Доступ – ElenaDBA