Есть выборка. Продажи номенклатуры по подразделениям, скажем 4 продажи одной номенклатуры по каждому подразделению. Узнать среднее - ок, группировка. Но в строке также надо вывести три максимальных значения.
Номенклатура | среднее | макс1 | макс2 | макс3.
Выбрать первые 1 не прокатывает, так как разрезы по подразделениям.
И что-то я застрял. Хотелось бы именно запросом, без ручного ковыряния таблиц значений.
Я наверное неправильно объяснил.
Регистр продажи.
Надо узнать, сколько по дням недели было средние продажи, сколько по этим дням были ТРИ максимальные продажи.
Период выборки допустим месяц.
Итого у нас четыре понедельника. Выводим
Товар | Среднее по понедельникам | Максимальное по понедельникам | Максимальное по понедельникам, но меньше первого максимального =)
Короче через временные таблицы.
ВТ_ОбщиеДанные
ВТ_Максимум
ВТ_ОбщиеДанные Левое соединение ВТ_Максимум, где ВТ_ОбщиеДанные.количество < ВТ_Максимум.Количество - и все это еще в одну временную таблицу с МАКСИМУМ, ну и так далее.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший