|
Помощь в написании запроса |
☑ |
0
ikolegov
29.09.12
✎
17:14
|
Прошу помощь в написании оптимального запроса.
Есть периодический регистр сведения о состоянии некоторой позиции справочника. К примеру с 05.09 включен, с 07.09 выключен, с 10.09 опять включен. Есть способ кроме перебора по дням узнать сколько дней в месяце он был включен.
Спасибо.
|
|
1
vde69
29.09.12
✎
17:20
|
два запроса
1. находишь первую дату включения
передаешь во второй (через времянку)
2. для каждого включения берешь разницу в днях с датой из запроса 1
для каждого выключения берешь разницу в днях с датой из запроса 1 и умножаешь на -1
суммируешь - и готово
|
|
2
Wobland
29.09.12
✎
17:23
|
(1) не взлетит, если будет только два включения
|
|
3
Преднаименование
29.09.12
✎
17:31
|
(0) Для примера возьми расчет среднесписочной численности сотрудников из ЗУП, там как раз учитывается кто сколько работал.
|
|
4
kumena
29.09.12
✎
17:32
|
Выбрать
Период, Ссылка, РесурсВключенВыключен
Поместить ТаблицаВключений
из регистрСведений.ТакойТо
;
Выбрать
Период КАК ДатаВключен, Ссылка, Минимум(Рег.Период) КАК ДатаВыключен
Из ТаблицаВключений КАК таблицаВключений
Левое Соединение регистрСведений.ТакойТо КАК Рег
По ТаблицаВключений.Ссылка = рег.Ссылка
ТаблицаВключений.Период > Рег.Период
и Рег.РесурсВключенВЫключен = &Выключен
|
|
5
Живой Ископаемый
29.09.12
✎
17:35
|
|
|
6
kumena
29.09.12
✎
17:35
|
ой ТаблицаВключений.Период > Рег.Период
тут знак в другую сторону, начало д.б. меньше окончания
|
|