![]() |
|
запрос: свернуть записи в некоторых периодах | ☑ | ||
---|---|---|---|---|
0
PiotrLoginov
10.11.16
✎
14:29
|
Здрасте всем.
Есть ТаблицаКоличеств ДАТА НОМЕНКЛАТУРА ХАРАКТЕРИСТИКА КОЛВО 01.10 Товар А Характеристика 1 2 05.10 Товар А Характеристика 1 3 06.10 Товар А Характеристика 2 1 09.10 Товар А Характеристика 1 5 Как-то можно запросом свернуть записи в периодах, где ХАРАКТЕРИСТИКА одинакова? В результате должно быть так: 01.10 Товар А Характеристика 1 5 06.10 Товар А Характеристика 2 1 09.10 Товар А Характеристика 1 5 По понятным причинам не подойдет это: ВЫБРАТЬ МИНИМУМ(ТаблицаКоличеств.Дата) КАК Дата, ТаблицаКоличеств.Номенклатура, ТаблицаКоличеств.Характеристика, СУММА(ТаблицаКоличеств.Колво) КАК Колво ИЗ ТаблицаКоличеств КАК ТаблицаКоличеств СГРУППИРОВАТЬ ПО ТаблицаКоличеств.Номенклатура, ТаблицаКоличеств.Характеристика Задача несколько упрощена. В реальности колонок для группировки больше и периоды, которые можно свернуть, могут встречаться чаще или реже. |
|||
1
Ёпрст
гуру
10.11.16
✎
14:34
|
(0) а с периодом че делать ?
|
|||
2
Ёпрст
гуру
10.11.16
✎
14:34
|
и по каким понятным причинам "не подойдёт" ?
|
|||
3
PiotrLoginov
10.11.16
✎
14:42
|
(1) с датой? можно брать минимум в сворачиваемом периоде
(2) если воспользоваться запросом, который в (0), то по Характеристика 1 записи свернутся не с 01.10 по 06.10, а вообще за весь период |
|||
4
Ёпрст
гуру
10.11.16
✎
14:43
|
(3) А тебе разве, не так надо ?
|
|||
5
Ёпрст
гуру
10.11.16
✎
14:44
|
как ты определяешь "период" свой ?
|
|||
6
PiotrLoginov
10.11.16
✎
14:51
|
мне надо, чтобы, грубо говоря, сворачивались периоды, в которых Характеристика не менялась.
Вот, начиная с 01.10 до 06.10 Характеристика была одна и та же. Этот период можно свернуть. Затем начинаются движения с Характеристика 2. Затем вновь идут движения (в данном случае одно движение) с Характеристика 1. |
|||
7
Ёпрст
гуру
10.11.16
✎
15:15
|
(6) ну вот у тебя 3 записи
01.10 Товар А Характеристика 1 2 05.10 Товар А Характеристика 1 3 09.10 Товар А Характеристика 1 5 почему ты "свернул" 2 , а не 3 ? |
|||
8
Ёпрст
гуру
10.11.16
✎
15:16
|
как ты должен определить "период", который надо сворачивать ?
01.10 - 05.10 или 05.10-09.10 ? |
|||
9
Basilio
10.11.16
✎
15:19
|
(6) ИМХО в запросе не получится.
|
|||
10
Ёпрст
гуру
10.11.16
✎
15:20
|
(9) получится, если автор скажет, по каким признакам он хочет искать период свой.
|
|||
11
Ёпрст
гуру
10.11.16
✎
15:20
|
фифо же в запросе реализовано, подумаешь, долго, зато работает
|
|||
12
Basilio
10.11.16
✎
15:20
|
(10) Так (6) же: мне надо, чтобы, грубо говоря, сворачивались периоды, в которых Характеристика не менялась.
|
|||
13
Ёпрст
гуру
10.11.16
✎
15:21
|
(12) ок. В (7) это какой период ?
|
|||
14
Basilio
10.11.16
✎
15:23
|
(0) так тебе надо?
01 q 02 q 03 q 04 w 05 w 06 q 07 q ======> 01 q 04 w 06 q |
|||
15
DrShad
10.11.16
✎
15:28
|
(11) и нифига не долго, ибо выгрузка результата в ТЗ и пост обработка все равно дольше
|
|||
16
aleks_default
10.11.16
✎
17:49
|
соединяй саму с собой по период больше и характеристика не равна текущей записи и бери минимум от периода - получишь даты когда менялась характеристика - а дальше дело техники
|
|||
17
PiotrLoginov
10.11.16
✎
18:27
|
(11) да вот, фифо в запросе давно пройденный этап, а текущий сабж что-то никак...
(14) да, совершенно верно (16) да, точно, сам уже понял, что нужно получить даты, когда менялась характеристика, но не мог сообразить, как-то их получить, так что спасибо! Сейчас отвлекся от вопроса, через часок вернусь к этой задаче... |
|||
18
PiotrLoginov
10.11.16
✎
18:27
|
(17) *как-то = как
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |