|
максимум | ☑ | ||
---|---|---|---|---|
0
Noxvil
03.10.13
✎
16:08
|
Добрый день.
Есть запрос на скд, в котором есть 3 колонки. Нужно в четвертую колонку вытащить максимальную разницу между 1и2,2и3,1и3. Как это правильнее реализовать в запросе, чтобы не делать гигантский "выбор когда 1-2 > 2-3 и 1-2 > 1и3 и ...." |
|||
1
Noxvil
03.10.13
✎
16:15
|
Других вариантов нет?
|
|||
2
Noxvil
03.10.13
✎
16:26
|
На всякий случай скажу, что есть 4ая колонка, которая объединяет остальные 3 числовых. В голову пришла идея засунуть во временную таблицу и создать 3 подзапроса с разными выражениями, и потом взять максимум с получившейся колонке при группировке.
Не оптимально? |
|||
3
Fragster
модератор
03.10.13
✎
16:27
|
Минимум(рекв1, рекв2, рекв3) - Максимум(Рекв1, рекв2,рекв3)
|
|||
4
Noxvil
03.10.13
✎
16:30
|
(3) Но функция минимум - не работает в запросе на несколько значений, а только на минимальное значение колонки... собственно как и максимум
|
|||
5
Noxvil
03.10.13
✎
16:31
|
Так же как и в выражении
|
|||
6
Fragster
модератор
03.10.13
✎
16:33
|
ну тогда:
Функции общих модулей Выражение механизма компоновки данных может содержать вызовы функций глобальных общих модулей конфигурации. Никакого дополнительно синтаксиса для вызова таких функций не требуется. Пример: СокращенноеНаименование(Документы.Ссылка, Документы.Дата, Документы.Номер) В данном примере будет осуществлен вызов функции "СокращенноеНаименование" из общего модуля конфигурации. Отметим, что использование функций общих модулей разрешено только при указании соответствующего параметра процессора компоновки данных. Кроме того, функции общих модулей не могут быть использованы в выражениях пользовательских полей. |
|||
7
Noxvil
03.10.13
✎
16:34
|
Я тебя понял
|
|||
8
Noxvil
03.10.13
✎
16:36
|
Хотя, это всё равно неправильно, например, если у меня конфа закрытая...
|
|||
9
neckto
03.10.13
✎
17:05
|
(3)(4) Функции Мин() и Макс()
|
|||
10
Genius
03.10.13
✎
17:11
|
Через врем таблицы можно, формируешь несколько временных таблиц в одном запросе с пошаговой обработкой данных. Находишь разнице между парами, помещаешь в разные таблицы, потом их объединяешь в одны и в ней уже находишь мин/макс. С таблицами в одном запросе можно крутить сколько угодно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |