Читаем Microsoft Access 2007 полностью

5. Установите переключатель в положение Объединение ВСЕХ записей из “Клиенты” и только тех записей из “Заказы”, в которых связанные поля совпадают и нажмите кнопку ОК .

6. На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги . В бланке запроса появится строка Групповая операция .

7. В бланке запроса в строке Групповая операция для поля Сумма выберите из раскрывающегося списка функцию Sum . Для всех остальных полей должно быть выбрано значение Группировка .

Результирующий бланк итогового запроса с объединением показан на рис. 6.28.

Рис. 6.28. Результирующий бланк итогового запроса с объединением

Текст итогового запроса с объединением приведен в листинге 6.14.

...

Листинг 6.14.

Итоговый запрос с объединением таблиц

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. В этом окне нужно указать таблицу для поиска повторяющихся записей

Перейти на страницу:

Все книги серии Видеосамоучитель

Похожие книги

C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных