|
При группровке строк в запросе, получать разность группируемых строк, а не сумму | ☑ | ||
---|---|---|---|---|
0
Paradox
13.11.14
✎
07:33
|
Привет всем, вопрос в теме.
Например, имеем запрос: Выбрать Номенклатура, СУММА(СуммаПродажи) Из Рег.накопления.Продажи Сгруппировать По Номенклатура но надо бы не суммировать, а каждую строчку вычитать. Подскажите как реализовать?) или проще выгрузить в ТЗ и там уже пробежаться по строкам? |
|||
1
Рэйв
13.11.14
✎
07:35
|
Выбор Когда истина Тогда
Рез = ОднаСтрока-Вторая Как Разница |
|||
2
Рэйв
13.11.14
✎
07:35
|
вру конечно:-)
Просто ОднаСтрока-Вторая |
|||
3
Molinor
13.11.14
✎
07:36
|
Как определить какую строку из какой вычитать? А если 10 строк с одинаковой номенклатурой, как тут быть?
|
|||
4
Paradox
13.11.14
✎
07:37
|
да просто, при группировке делать разность...без разницы...как работает сумма? суммирует то, что попало под группировку. Тоже самое потребовалось, но разность делать)
|
|||
5
Рэйв
13.11.14
✎
07:37
|
(3)Вообщето там имена колонок.
|
|||
6
Paradox
13.11.14
✎
07:37
|
Молоко
1+2+3+4 надо Молоко 1-2-3-4 |
|||
7
Рэйв
13.11.14
✎
07:37
|
(4)Если в СУММА() обернешь выбор прекрасно суммируется
|
|||
8
Molinor
13.11.14
✎
07:38
|
(6) А почему не 4-3-2-1? Как определить ту строку, из которой вычитать то?
|
|||
9
Wobland
13.11.14
✎
07:38
|
(6) почему именно в этом порядке?
|
|||
10
lxndr
13.11.14
✎
07:38
|
чем строка из которой надо отнимать отличается от строк, которые надо отнимать?
|
|||
11
Looser-1c
13.11.14
✎
07:38
|
Сумма коммутируемый оператор.
Разность - нет Поэтому порядок значение имеет (6) А почему не 4-3-2-1? |
|||
12
Рэйв
13.11.14
✎
07:39
|
(0)Я мож чего не онял.Ты из разных строк значения брать собрался или из одной из раных колонок?
|
|||
13
Wobland
13.11.14
✎
07:39
|
(11) коммутативная операция ваще-то ;)
|
|||
14
Paradox
13.11.14
✎
07:40
|
(11) да, но порядок допустим есть...я упорядочил, осталось разность получить
|
|||
15
Looser-1c
13.11.14
✎
07:40
|
(13) да, ошибся.
|
|||
16
Paradox
13.11.14
✎
07:40
|
(0) ну в принципе из разных...я упорядочил строки как мне надо, только теперь надо разность получить
|
|||
17
Wobland
13.11.14
✎
07:41
|
(14) выгрузить в ТЗ и там уже пробежаться по строкам
|
|||
18
Paradox
13.11.14
✎
07:41
|
блин...да, задача в запросе бредовая получается...помоему ТЗ проще
|
|||
19
Рэйв
13.11.14
✎
07:41
|
(16)Тогда в запросе сразу никак.
Только из результата |
|||
20
Wobland
13.11.14
✎
07:41
|
+(17) или даже обойти дерево
|
|||
21
lxndr
13.11.14
✎
07:45
|
Выбрыть первые 1 из таблицы, умножить на 2
От всего этого отнять сумму всех |
|||
22
Paradox
13.11.14
✎
07:46
|
я думаю так:
разорвать запрос... 1. Выгрузка в ТЗ 2. Обход ТЗ и вычисление разности 3. Продолжаем запрос, но из временной таблице полученной из ТЗ |
|||
23
lxndr
13.11.14
✎
07:50
|
(16) по какому принципу упорядочил? По тому же принципу для строк > 1 сделай *(-1)
|
|||
24
Paradox
13.11.14
✎
07:51
|
(23) от даты первой продажи
|
|||
25
Йохохо
13.11.14
✎
08:17
|
(24) смысл какой? наверное тебе надо в запрос среднеквадратичное добавить, чтобы вычитать среднеквадратичное из первой продажи, чтобы температура по больнице была более среднеквадратичной
|
|||
26
СвинТуз
13.11.14
✎
09:23
|
выбери первую продажу
сосчитай общую продажу сделай объединение только на 2 не забудь умножить первую продажу тз не нужно |
|||
27
Крошка Ру
13.11.14
✎
12:01
|
(22)Выбирай в одну временную таблицу уменьшаемое значение, в другую всё остальное со знаком минус, объединяй и группируй
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |