|   |   | 
| 
 | В запросе выбрать минимум из трех значений. | ☑ | ||
|---|---|---|---|---|
| 0
    
        Fedor 08.08.12✎ 14:17 | 
        Есть 3 значения - a, b, c. В запросе нужно определить минимальное.
  Есть ли более правильный способ, чем использования конструкции "ВЫБОР"? ВЫБОР КОГДА <Выражение> ТОГДА <Выражение> ИНАЧЕ <Выражение> КОНЕЦ | |||
| 1
    
        AlStorm 08.08.12✎ 14:17 | 
        сортировка, после - первые 3     | |||
| 2
    
        Wobland 08.08.12✎ 14:17 | 
        (0) чем смущает?     | |||
| 3
    
        AlStorm 08.08.12✎ 14:18 | 
        тьфу, не так понял.
  Сортировка, первые 1 | |||
| 4
    
        Лоботряс 08.08.12✎ 14:18 | 
        Объединение и Максимум     | |||
| 5
    
        Лоботряс 08.08.12✎ 14:19 | 
        то есть минимум     | |||
| 6
    
        Eugene_life 08.08.12✎ 14:20 | 
        (0) Через Выбор будет нормально, ИМХО     | |||
| 7
    
        Ksandr 08.08.12✎ 14:29 | 
        Сильно зависит от запроса и от объема данных, но склоняюсь к ВЫБОР ... КОГДА ...,
  т.к. агрегатные функции уступают по производительности. | |||
| 8
    
        Fragster гуру 08.08.12✎ 14:31 | 
        Выбор 
  когда А1 < А2 И А1 < А3 Тогда А1 Когда А2 < А3 Тогда А2 Иначе А3 Конец Как А | |||
| 9
    
        Fragster гуру 08.08.12✎ 14:31 | 
        Когда А2 < А3 И А2 < А1 Тогда А2     | |||
| 10
    
        PR 08.08.12✎ 14:31 | 
        (0) Нет.     | |||
| 11
    
        PR 08.08.12✎ 14:32 | 
        +(10) При условии конечно же, что значения неизвестны до выполнения запроса.     | |||
| 12
    
        aleks-id 08.08.12✎ 14:34 | 
        бред понаписали.
  1. значения в ВТ в колонку Значение 2. запрос к ВТ выбрать минимум(вт.значение) из ВТ | |||
| 13
    
        Fedor 08.08.12✎ 14:35 | 
        (11) Да, значения заранее не известны. Понятно, спасибо.     | |||
| 14
    
        salvator 08.08.12✎ 14:37 | 
        (12) +100     | |||
| 15
    
        Fragster гуру 08.08.12✎ 14:43 | 
        (12) не работает, если мы и так выбираем значения из таблицы, а потом из 3-х столбцов выбираем меньший. там быстрее ВЫБОР, чем городить огород из объединений     | |||
| 16
    
        Ненавижу 1С гуру 08.08.12✎ 14:44 | 
        Выбор 
  Когда А1 < А2 Тогда Выбор Когда А3<А1 Тогда А3 Иначе А1 Конец Иначе Выбор Когда А3<А2 Тогда А3 Иначе А2 Конец Конец Как А | |||
| 17
    
        Fedor 08.08.12✎ 14:44 | 
        (8) Спасибо!     | |||
| 18
    
        Fragster гуру 08.08.12✎ 14:45 | 
        (16) так вот почему ты ненавидишь 1с...     | |||
| 19
    
        Ненавижу 1С гуру 08.08.12✎ 14:48 | 
        (18) нет, не поэтому     | |||
| 20
    
        Fragster гуру 08.08.12✎ 14:49 | 
        (19) а зачем тогда вложенные выборы?     | |||
| 21
    
        Ненавижу 1С гуру 08.08.12✎ 14:50 | 
        (20) а зачем нет?     | |||
| 22
    
        Fragster гуру 08.08.12✎ 14:50 | 
        (21) меньше строк, красивее     | |||
| 23
    
        Ненавижу 1С гуру 08.08.12✎ 14:51 | 
        (22) ну красота понятее относительное, а так да - строк меньше     | |||
| 24
    
        Fragster гуру 08.08.12✎ 14:53 | 
        кстати, нафига я (9) написал?     | |||
| 25
    
        Ненавижу 1С гуру 08.08.12✎ 14:53 | 
        (24) не знаю ))     | |||
| 26
    
        Eugene_life 08.08.12✎ 14:53 | 
        а если они все одинаковы? где "<="??     | |||
| 27
    
        Ненавижу 1С гуру 08.08.12✎ 14:54 | 
        (26) а смысл? разницы никакой     | |||
| 28
    
        Eugene_life 08.08.12✎ 14:54 | 
        (27) Человек же копипастит!!     | |||
| 29
    
        Ненавижу 1С гуру 08.08.12✎ 14:55 | 
        (28) и что?     | |||
| 30
    
        Eugene_life 08.08.12✎ 14:57 | 
        (29) ничего     | |||
| 31
    
        aleks-id 08.08.12✎ 14:58 | 
        (15) да ну нафиг     | |||
| 32
    
        Ksandr 08.08.12✎ 15:39 | 
        Кстати, можно исходя из того, что, чтобы найти меньшее из двух необходимо от полусуммы отнять полуразницу по модулю:
  тогда для 2 ((a+b) - abs((a-b)))/2 для трех: (((a+b) - abs((a-b)))/2 + с)/2 - abs(((a+b) - abs((a-b)))/2 - c)/2 вот только ABS в запросах не заюзаешь, а так вполне себе решение :) | |||
| 33
    
        Ksandr 08.08.12✎ 15:42 | 
        Скобок многовато, уменьшил:
  (a + b - abs(a-b))/4 + c/2 - abs((a + b - abs(a-b))/4 - c/2) | |||
| 34
    
        Shurjk 08.08.12✎ 15:44 | 
        группировать не предлагали?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |