|   |   | 
| 
 | Запрос: длинное выражение в поле и Группировка | ☑ | ||
|---|---|---|---|---|
| 0
    
        andrewks 21.11.11✎ 20:33 | 
        собственно, вопрос: есть поле в запросе, в котором указано очень длинное выражение (с выбором).
  в группировке приходится тоже его дублировать, по псевдониму не принимает. как можно обойти? или это суровая реальность? | |||
| 1
    
        andrewks 21.11.11✎ 20:36 | 
        забыл уточнить: в поле тип дата.
  со ссылками на справочники получается с псевдонимом | |||
| 2
    
        shuhard 21.11.11✎ 20:36 | 
        (0) засунь в подзапрос     | |||
| 3
    
        PR 21.11.11✎ 20:36 | 
        Все во вложенный запрос, потом группировать.
  Красиво, но не правильно IMHO :)) | |||
| 4
    
        andrewks 21.11.11✎ 20:38 | 
        подзапрос? а как это скажется на производительности?     | |||
| 5
    
        andrewks 21.11.11✎ 20:38 | 
        и почему именно с датами такие траблы?     | |||
| 6
    
        shuhard 21.11.11✎ 20:39 | 
        (4) снизит,
  но тебе же важно не дублировать длинное выражение =) | |||
| 7
    
        PR 21.11.11✎ 20:40 | 
        (5) Почему именно с датами?
  С любыми так. | |||
| 8
    
        andrewks 21.11.11✎ 20:40 | 
        (7) только что со ссылкой на справочник взлетело по псевдониму. а с датой не взлетает     | |||
| 9
    
        PR 21.11.11✎ 20:42 | 
        (8) И псевдоним уникальный? Попробуй написать в псевдониме Вася275.     | |||
| 10
    
        andrewks 21.11.11✎ 20:44 | 
        (9) уникальный. а при чём здесь Вася? :)     | |||
| 11
    
        PR 21.11.11✎ 20:45 | 
        (10) Ну я так, в качестве примера уникального :))
  Можешь Гватемала11 попробовать :)) | |||
| 12
    
        andrewks 21.11.11✎ 20:48 | 
        (11) пишет: поле не найдено. хотя псевдоним точно такой, копипастом делаю     | |||
| 13
    
        andrewks 21.11.11✎ 20:50 | 
        я вот честно говорю: так и не понял регламент указания псевдонимов в группировке. везде взлетает, а тут нет.     | |||
| 14
    
        PR 21.11.11✎ 20:51 | 
        Я про то и говорю, может дело не в том, что дата, а в том, что ты группируешь по какому-то другому полю, а не по полю с выбором, для которого назначен альяс? :))     | |||
| 15
    
        andrewks 21.11.11✎ 20:55 | 
        да не, ну чё я, выдумываю, что-ли? какой-то затык у 1с с псевдонимами в секции Группировка
  ну вот сам попробуй: простейший запрос select null as Материал group by Материал он тебе скажет - поле не найдено "Материал" хотя в секции Упорядочить и Итоги этот псевдоним примет приходится писать так: select null as Материал group by null НО! почему-то не всегда ругается. вот не пойму, от чего зависит в другом месте case when ОстМат.Склад is null then value(Справочник.Склады.ПустаяСсылка) else ОстМат.Склад end as Склад и group by Склад скушал. разъясните, что к чему | |||
| 16
    
        PR 21.11.11✎ 20:57 | 
        (15) Напиши в другом месте так :))
  case when ОстМат.Склад is null then value(Справочник.Склады.ПустаяСсылка) else ОстМат.Склад end as СпоримВБазеНетПоляСТакимИменем и group by СпоримВБазеНетПоляСТакимИменем | |||
| 17
    
        andrewks 21.11.11✎ 20:59 | 
        а, всё, понял. я уже сам начал догадываться, речь получается не про всевдоним, а про реквизиты физ.таблиц
  т.е. все тупо копипастят, я так понимаю? | |||
| 18
    
        shuhard 21.11.11✎ 21:00 | 
        (17) нет
  я предпочитаю подзапросы отлаживаться проще | |||
| 19
    
        PR 21.11.11✎ 21:00 | 
        (17) Ну не знаю, я просто знаю про эту мульку и в СГРУППИРОВАТЬ всегда пишу содержимое поля :))     | |||
| 20
    
        PR 21.11.11✎ 21:01 | 
        +(19) А, не понял сразу.
  Ну да, копипастят, если без вложенных запросов :)) | |||
| 21
    
        andrewks 21.11.11✎ 21:01 | 
        (19) разверни: т.е. копипастишь, или нет?     | |||
| 22
    
        andrewks 21.11.11✎ 21:01 | 
        ясно. грустно чё-то. неужели по-человечьи нельзя было сделать?     | |||
| 23
    
        andrewks 21.11.11✎ 21:09 | 
        ещё вопрос: в условии Где то же самое, туда тоже копипастить надо сложные выражения.
  а вот кто в курсе, он каждый раз вычисляет эти выражения: и в поле, и в условии, или по-умному делает, с оптимизацией? | |||
| 24
    
        ДенисЧ 21.11.11✎ 21:38 | 
        Кстати, в скуле тоже не работает...     | |||
| 25
    
        ДенисЧ 21.11.11✎ 21:38 | 
        (23) По умному. Точнее, это скуль (if any) делает..     | |||
| 26
    
        andrewks 21.11.11✎ 21:44 | 
        (25) это уже хорошо     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |