|
Несколько диапазонов дат в запросе | ☑ | ||
---|---|---|---|---|
0
Сотрудница
01.10.14
✎
07:23
|
не могу сообразить, как сделать, чтоб не косолапо было
нужно выбрать некоторые документы по условию, что они принадлежат одному из нескольких диапазанов дат. и сгруппировать по ним. например: (01.02.2014 06:00:00 - 02.02.2014 01:59:59), (02.02.2014 06:00:00 - 03.02.2014 01:59:59), (03.02.2014 06:00:00 - 04.02.2014 01:59:59) в голову приходит только условие: где ((дата между нач1 и кон1) или (дата между нач2 и кон2) или (дата между нач3 и кон3)) проблема в том, что диапазонов может быть и больше |
|||
1
Рэйв
01.10.14
✎
07:27
|
ГДЕ
Док.Дата Между &Д1 И &Д2 ИЛИ Док.Дата Между &Д3 И &Д4 ИЛИ Док.Дата Между &Д5 И &Д6 .... и т.д. |
|||
2
Godofsin
01.10.14
✎
07:27
|
Динамически формировать текст запроса с объединением. И это, запрашивать документы не комильфо, запрашивай регистр.
|
|||
3
Рэйв
01.10.14
✎
07:27
|
а поля для группировки через выбор
|
|||
4
Godofsin
01.10.14
✎
07:29
|
(1) Так она же говорит, что кол-во диапозонов не статично. Как динамически устанавливать параметры запроса?
|
|||
5
Сотрудница
01.10.14
✎
07:29
|
а как группировать по периоду?
|
|||
6
patria0muerte
01.10.14
✎
07:29
|
(0) Ну если считать, что документы находятся в одном периоде, но не должны попадать в один временной диапазон с 02:00 до 06:00, то можно посчитать количество секунд прошедших с начала дня (00:00) и если допустим количество секунд > 7200 и < 21600 тогда ЛОЖЬ
|
|||
7
Сотрудница
01.10.14
✎
07:30
|
(4)
вообще на вход идут две даты - начало и конец например 01.02.2014 06:00:00 и 04.02.2014 01:59:59 при этом диапазон вот такие: (01.02.2014 06:00:00 - 02.02.2014 01:59:59), (02.02.2014 06:00:00 - 03.02.2014 01:59:59), (03.02.2014 06:00:00 - 04.02.2014 01:59:59) |
|||
8
patria0muerte
01.10.14
✎
07:31
|
+(6) А потом уже в СКД разбить по группировкам ДЕНЬ по полю период
|
|||
9
magicSan
01.10.14
✎
07:31
|
если выборка за месяц то ограничение по месяцу, далее по часам
|
|||
10
Godofsin
01.10.14
✎
07:31
|
(7) Так кол-во диапозонов всегда одинаково или меняется по прихоти пользователя?
|
|||
11
mergan
01.10.14
✎
07:32
|
передать диапазон таблицей ... и потом левым соединением на по дате документа между периодами в таблице
|
|||
12
Сотрудница
01.10.14
✎
07:32
|
(10) начало и конец задаются пользователем и далее разбиваются
|
|||
13
Godofsin
01.10.14
✎
07:32
|
(7) ааа... так у тебя диапозоны это каждый день с 6 утра из интервала дат?
|
|||
14
Godofsin
01.10.14
✎
07:33
|
(12) все, понял.
|
|||
15
Сотрудница
01.10.14
✎
07:33
|
(11) попробую
|
|||
16
Сотрудница
01.10.14
✎
07:34
|
(13) время в начале и окончании тоже могут произвольное задать. может получиться, что диапазоны без перехода на другие сутки
|
|||
17
Godofsin
01.10.14
✎
07:35
|
(16) Я сообразил, пробуй (11), должно взлететь
|
|||
18
mergan
01.10.14
✎
07:44
|
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка ИЗ тзИнтревалы КАК тзИнтревалы ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ПО (РеализацияТоваровУслуг.Дата МЕЖДУ тзИнтревалы.ДатаНачала И тзИнтревалы.ДатаОкончания) все работает |
|||
19
mergan
01.10.14
✎
07:45
|
ну и в запрос через менеджер временных таблиц загружаешь саму таблицу с нужными тебе диапазонами
|
|||
20
Godofsin
01.10.14
✎
07:51
|
(19) МВТ необязателен
|
|||
21
lxndr
01.10.14
✎
08:01
|
можно таблицу периодов состряпать в запросе
|
|||
22
Сотрудница
01.10.14
✎
08:06
|
(21)
наверное было бы красивее, но пока так сделаю, чтоб работало, потом допиливать |
|||
23
Сотрудница
01.10.14
✎
08:51
|
спасибо всем, все получилось
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |