MSSQL
Есть таблица остатков на складе:
поле: Дата
3 измерения (поля): Продукт, Склад, Поставщик (int)
поле: Кол-во
поле: Единица измер. (int)
поле: Сумма
поле: Валюта (int)
Итого 8 нужных полей.
Записи есть не на каждую дату, фиксируется изменение количества по 3 измерениями, то есть, если на "Склад1" 1 марта было 3 "ед" "Товар1" от "Поставщик1", а 3 марта по ним же стало 5 "ед", то имеем две записи на 1 марта 3 "ед", на 3 марта 5 "ед". Считается, что 2 марта было 3 "ед", хотя записи в таблице нет. (надеюсь понятно рассказал)
Как наиболее оптимально с точки зрения скорости и кол-ва кода (приоритет конечно же скорость) реализовать следующую задачу:
Получить таблицу в определенном интервале дат, который бьется на несколько мелких интервалов (день, неделя, месяц, квартал, год)
в ней след. инфа:
1) по одному измерению значения количества и суммы в каждом мелком интервале на его конец. По остальным двум измерениям значения складываются ("товар1" на "склад1" - 2 "ед", "товар1" на "склад2" - 3 "ед", соответственно "товар1" - 5 "ед" )
2) среднее значение наличия на складе в каждом мелком интервале. Считается так: (Сумма количества (суммы) на каждый день) / (количество дней)
3) Единица хранения, если получается, что в разных, то это нужно отразить. То же с валютами.
4) Дата для отнесения записи к определенному мелкому интервалу.
Буду рад услышать любые советы и варианты. Задача привести текст запроса (запросов) не стоит, сам разберусь
