Есть список, что то типа такого:
Номеклатура - дата нач - дата кон
товар1 - 01.01.2011 - 01.07.2011
товар2 - 01.03.2011 - 01.08.2011
товар3 - 22.07.2011 - 22.12.2011
....
хочу в отчете видеть продажи по этим периодам. в бошку лезет только цикл по этому списку, и внутри запрос с выбором продаж за различный период.(ну естественно, что не есть хорошо)
конечно обороты с периодичностью день... количество колонок результато эквивалентно количеству периодов, и проверка если поле период входит в результат то это та колонка которая нужна, если нет то 0...
небольшой примет
выбрать
рег.номенклатура как номенклатура,
выбор когда рег.период>= &датаНачалаПериод1 и рег.период<&датаОкончанияПериод1 тогда
рег.сумма
Иначе
0
конец как ЗначениеПериода1
.....
(0) делай в цикле, если запросом делать, то надо тянуть обороты за все периоды из твоей таблицы (С Минимум(ДатаНачала) По Максимум(ДатаОкончания)) по всей номенклатуре, т.е. слишком много избыточных данных получится.
Подумай например как быстро будет выполняться запрос, если будет такая таблица номенклатуры:
Товар1 - 01.01.2001 - 02.01.2001
Товар1 - 01.01.2012 - 02.01.2012
(5)ммм... извеняюсь не понял... ты прав, тогда модно сделать соединения столько сколько периодов... но запрос в цикле это точно не выход
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший