Задание условий отбора в запросах с групповыми операциями

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

Подсчитаем, сколько накладных было выписано по каждому из договоров и какова общая стоимость товаров, отгруженных по этим накладным. В расчете будем учитывать только накладные на сумму более 10 000 руб.

Для этого в бланк запроса Число отгрузок по договорам включим поле сумма_накл и заменим в нем слово Группировка (croup By) на функцию sum. Затем вторично включим поле сумма_накл в бланк запроса и заменим слово группировка (Group By) на слово Условие (where), выбрав его из списка. После этого введем в строку Условие отбора (Criteria) выражение: >10 000 (рис. 4.22).

Убедитесь, что число накладных для некоторых договоров уменьшилось, а общая стоимость по договору также считается только с учетом накладных на сумму более 10 000 руб. (рис. 4.23).

Условие отбора, заданное в поле, где записана функция, или в поле, по которому проводится группировка, позволяет отобрать только нужные группы записей, например, можно отобрать договоры с заданными номерами: in ("Д111";"ДЗЗЗ") или с заданной общей стоимостью отгрузки по ним: >100 000.

Использование в условии отбора функций

Допустим, необходимо выбрать запись с максимальным значением в поле, для которого записана статистическая функция. Задачу можно решить, использовав.функцию DMax. Эта функция позволяет определить максимальное значение в указанном наборе записей (подмножестве). Формат функции имеет вид: DMax{выражение,.подмножество, [условия_ртбора])

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

Аналогичная функция DMin позволяет определить минимальное значение.

На рис. 4.24 представлен запрос, выбирающий договор, по которому отгружен товар на максимальную сумму. Этот запрос построен на предыдущем запросе, сохраненном под именем "Число отгрузок по договорам". В условие отбора записана функция DMax {"[Sum-СУММА_НАКЛ]"; "Число отгрузок по договорам").

ЗАДАНИЕ 1. Условие отбора

Подсчитайте, какой товар был запланирован к поставке в максимальном количестве.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: