Итоговый запрос с объединением таблиц
SELECT Клиенты. [Номер (ID)], Клиенты. Имя, Клиенты. Телефон, Клиенты.
Адрес, Клиенты. Рейтинг, Sum(Заказы. Сумма) AS [Sum-Сумма]
FROM Клиенты LEFT JOIN Заказы ON Клиенты. [Номер (ID)] = Заказы. Клиент
GROUP BY Клиенты. [Номер (ID)], Клиенты. Имя, Клиенты. Телефон, Клиенты.
Адрес, Клиенты. Рейтинг;
8. Перейдите на вкладку Конструктори выберите команду Выполнить.
Результат выполнения итогового запроса с объединением таблиц показан на рис. 6.29.
Рис. 6.29.Результат выполнения итогового запроса с объединением таблиц
Удаление повторяющихся записей с помощью запросов
Существует еще одна полезная область применения запросов – удаление полностью или частично одинаковых записей. Если взять в качестве примера учебную базу Отдел продаж, то очевидно, что при корректной работе с таблицей Заказыв ней не должно быть записей с одинаковыми значениями полей Товар, Клиенти Дата, так как такие записи должны объединяться в одну с изменением значения поля Количество.
Сначала внесите такие ошибки в таблицу Заказы, просто создав дубликаты существующих записей.
1. Откройте базу данных Отдел продаж.
2. На вкладке Созданиев группе Другиенажмите кнопку Конструктор запросов.
3. В окне Добавление таблицыдважды щелкните кнопкой мыши на названии таблицы Заказы. Нажмите кнопку Закрыть.
4. На вкладке Конструкторв группе Тип запросавыберите команду Добавление. Откроется окно Добавление.
5. В раскрывающемся списке выберите название результирующей таблицы – Заказы. Установите переключатель в положение В текущей базе данных. Нажмите кнопку ОК.
6. Дважды щелкните кнопкой мыши на названиях полей Дата, Товар, Количество, Сумма, Клиент, чтобы добавить поля в выборку.
7. В бланке запроса в строке Добавлениедля каждого поля выборки укажите поле назначения, совпадающее с исходным полем, выбирая названия полей из раскрывающегося списка.
Текст итогового запроса с объединением приведен в листинге 6.15.
...
Листинг 6.15.
Запрос на добавление
INSERT INTO Заказы (Дата, Товар, Количество, Сумма, Клиент)
SELECT Заказы. Дата, Заказы. Товар, Заказы. Количество, Заказы. Сумма,
Заказы. Клиент
FROM Заказы;
8. Перейдите на вкладку Конструктори выберите команду Выполнить. Откроется окно подтверждения операции добавления.
9. Нажмите кнопку Да.
10. Откройте таблицу Заказы(рис. 6.30).
Рис. 6.30.Таблица Заказы после выполнения запроса на добавление
Теперь таблица Заказысодержит некорректные данные, которые необходимо исправить. Для этого используйте мастер запросов.
1. На вкладке Созданиев группе Другиенажмите кнопку Мастер запросов. Откроется окно Новый запрос(рис. 6.31).
Рис. 6.31.Окно Новый запрос
2. Теперь выберите пункт Повторяющиеся записи, а за тем нажмите кнопку ОК. Откроется окно Поиск повторяющихся записей(рис. 6.32).
Рис. 6.32.В этом окне нужно указать таблицу для поиска повторяющихся записей
3. Укажите таблицу Заказыи нажмите кнопку Далее.
4. Выберите поля Дата, Товар, Клиент(рис. 6.33) и нажмите кнопку Готово.
Рис. 6.33.Здесь следует задать поля с повторяющимися значениями
Будет выведен список повторений по таблице Заказы(рис. 6.34).
Рис. 6.34.Результат поиска повторяющихся записей
Если записи различаются значениями других полей, не вошедших в выборку, возможно, лучшим способом удаления будет удаление записей вручную, ведь только вы знаете критерий, по которому можно отделить корректные записи от ошибочных.
В данном случае записи действительно полностью одинаковые, и процесс их удаления хотелось бы автоматизировать запросом. Если просто преобразовать данный запрос на выборку в запрос на удаление, то удалятся все повторяющиеся записи. Обычно все же требуется оставить по одному экземпляру записей.
Чтобы получить желаемый результат, следуйте нижеприведенным действиям.
Читать дальше
Конец ознакомительного отрывка
Купить книгу