Рисунок 18 – Запрос «Новая цена товара определенного вида» в режиме конструктора
Результат запроса в режиме таблицы представлен на рисунке 19.
Рисунок 19 – Запрос «Новая цена товара определенного вида» в режиме таблицы
Текст запроса «Новая цена товара определенного вида» в режиме SQL:
SELECT Товар.кодТовара, Товар.названиеТовара, ВидТовара.кодВида, Товар.стоимостьЕдиницыПродукции, [стоимостьЕдиницыПродукции]+500 AS НоваяЦена
FROM ВидТовара INNER JOIN Товар ON ВидТовара.кодВида = Товар.кодВида
WHERE (((ВидТовара.кодВида)=3));
Запрос 5. Теперь создадим запрос на обновление для подсчета стоимости поставок.Для реализации этого запроса загружаем «Конструктор запросов», затем в меню «Запрос» вызываем команду «Обновление», добавляем таблицы «Поставка» и «Товар», выбираем поле «Стоимость поставки»и в появившуюся строку «Обновить» конструктора запросов вводим выражение: [стоимостьЕдиницыПродукции]*[количествоПоставленныхТоваров]. Чтобы расчет выполнялся только для тех записей, для которых стоимость ещё не вычислена, в строке «Условие отбора» пишем выражение «IsNull». После запуска запроса на выполнение появится диалоговое окно, в котором нужно нажать кнопку «Да». Запрос в режиме конструктора представлен на рисунке 20.
Рисунок 20 – Запрос «Стоимость поставок» в режиме конструктора
Результаты запроса в режиме таблицы представлены на рисунке 21.
Рисунок 21 - Запрос «Стоимость поставок» в режиме таблицы
Текст запроса «Стоимость поставок» в режиме SQL:
UPDATE Товар INNER JOIN Поставка ON Товар.кодТовара = Поставка.кодТовара SET Поставка.стоимостьПоставки = [количествоПоставленныхЕдиниц]*[стоимостьЕдиницыПродукции]
WHERE (((Поставка.стоимостьПоставки) Is Null));
Запрос 6. Создадим запрос для вычисления средней цены каждого вида товара. Для этого нажмем кнопку «Запросы» на панели «Объекты» окна базы данных, затем кнопку «Создание запроса в режиме конструктора». Щелчком мыши выделим таблицы «Вид товара» и «Товар» и нажмем кнопку «Добавить», затем кнопку «Закрыть». Далее добавим в бланк запроса поле «Вид товара» из таблицы «Вид товара» и поле «Стоимость единицы продукции» из таблицы «Товар». Проверим наличие флажков в строке «Вывод на экран» бланка запроса для всех добавленных полей. Затем включим отображение строки «Групповая операция» в бланке запроса, для чего щелкнем на кнопке
Рисунок 22 – Запрос «Средняя цена каждого вида» в режиме конструктора
Данный запрос в режиме таблицы представлен на рисунке 23.
Рисунок 23 – Запрос «Средняя цена каждого вида» в режиме таблицы
Текст запроса «Средняя цена каждого вида» в режиме SQL:
SELECT ВидТовара.видТовара, Avg(Товар.стоимостьЕдиницыПродукции) AS [Средняя стоимость]
FROM ВидТовара INNER JOIN Товар ON ВидТовара.кодВида = Товар.кодВида
GROUP BY ВидТовара.видТовара
ORDER BY Avg(Товар.стоимостьЕдиницыПродукции);
Запрос 7. Создадим итоговый запрос для подсчета количества поставок, осуществленных каждым поставщиком. Для этого нажмем кнопку «Запросы» на панели «Объекты» окна базы данных, затем кнопку «Создание запроса в режиме конструктора». Щелчком мыши выделим таблицы «Поставка» и «Поставщик» и нажмем кнопку «Добавить», затем кнопку «Закрыть». Проверим наличие флажков в строке «Вывод на экран» бланка запроса для всех добавленных полей. Затем включим отображение строки «Групповая операция» в бланке запроса, для чего щелкнем на кнопке
Рисунок 24 – Запрос «Количество поставок» в режиме конструктора
Данный запрос в режиме таблицы представлен на рисунке 25.
Рисунок 25 - Запрос «Количество поставок» в режиме таблицы
Текст запроса «Количество поставок» в режиме SQL:
SELECT Поставка.кодПоставщика, Поставщик.поставщик, Count(Поставка.кодПоставки) AS [Количество поставок]
FROM Поставщик INNER JOIN Поставка ON Поставщик.кодПоставщика = Поставка.кодПоставщика
GROUP BY Поставка.кодПоставщика, Поставщик.поставщик;
Запрос 8. Создадим запрос для подсчета количества товаров, поставленных каждым поставщиком. Для этого нажмем кнопку «Запросы» на панели «Объекты» окна базы данных, затем кнопку «Создание запроса в режиме конструктора». Щелчком мыши выделим таблицы «Поставка» и «Поставщик» и нажмем кнопку «Добавить», затем кнопку «Закрыть». Проверим наличие флажков в строке «Вывод на экран» бланка запроса для всех добавленных полей. Затем включим отображение строки «Групповая операция» в бланке запроса, для чего щелкнем на кнопке
Рисунок 26 – Запрос «Количество товаров, поставленных всего каждым поставщиком» в режиме конструктора
Данный запрос в режиме таблицы представлен на рисунке 27.
Рисунок 27 – Запрос «Количество товаров, поставленных всего каждым поставщиком» в режиме таблицы
Текст запроса «Количество товаров, поставленных всего каждым поставщиком» в режиме SQL:
SELECT Поставка.кодПоставщика, Поставщик.поставщик, Sum(Поставка.количествоПоставленныхЕдиниц) AS [Количество товаров]
FROM Поставщик INNER JOIN Поставка ON Поставщик.кодПоставщика = Поставка.кодПоставщика
GROUP BY Поставка.кодПоставщика, Поставщик.поставщик;
Запрос 9. Теперь создадим перекрестный запрос для подсчета количества поставленных единиц товара каждым поставщиком за все поставки. Чтобы это сделать, необходимо нажать кнопку «Запросы» на панели «Объекты» окна базы данных, затем кнопку «Создание запроса в режиме конструктора». Далее щелчком мыши выделим таблицы «Поставка» и «Поставщик» и нажмем кнопку «Добавить», затем кнопку «Закрыть». Добавим в бланк запроса поля «Поставщик» из таблицы «Поставщик» и поля «Код поставки», «Количество поставленных единиц» (2 раза) из таблицы «Поставка». Теперь определим тип создаваемого запроса. Для этого выполните команду меню «Запрос/Перекрестный». Далее укажем, что значения поля «Поставщик» будут использоваться в качестве заголовков строк, выбрав в строке «Перекрестная таблица» бланка запроса для этого поля из списка «Заголовки строк». Затем укажем, что значения поля «Код поставки» будут использоваться в качестве заголовков столбцов, выбрав в строке «Перекрестная таблица» бланка запроса для этого поля из списка «Заголовки столбцов». Теперь нужно указать, что поле «Количество поставленных единиц» содержит значения, на основании которых будет вычисляться количество всех поставленных товаров. Для этого нужно в строке «Перекрестная таблица» бланка запроса для поля «Количество поставленных единиц» выберите из списка «Значение», а далее в строке «Групповаяоперация» бланка запроса для поля «Количество поставленных единиц» выберем из списка функцию Sum. Добавим в перекрестный запрос столбец, содержащий сумму всех поставленных единиц товара за все поставки. Для этого нужно еще раз перенести в бланк запроса поле «Количество поставленных единиц», в строке «Перекрестная таблица» бланка запроса для этого поля выберем из списка «Заголовки строк», а затем в строке «Групповая операция» бланка запроса для этого поля выберите из списка функцию Sum. Присвоим вычисляемому полю имя «Всего товаров», установив щелчком мыши текстовый курсор перед именем поля «Количество поставленных единиц» и введя «Всего товаров:». Сохраним запрос в базе данных под именем «Всего поставлено товаров», для этого выполним команду меню «Файл/Сохранить», в поле имя запроса введем: «Всего поставлено товаров» и нажмем ОК. Запрос в режиме конструктора представлен на рисунке 28.