Имя: Пароль:
1C
 
Группировка в тексте запроса - зачем?
0 Garry1010
 
28.11.14
15:15
Интерес чисто теоретический: зачем вообще указывается группировка в текстах запросов в 1С? А именно, если я указываю какие-то суммируемые поля, то всё равно ВСЕ(!) остальные поля оказываются группировочными (СГРУППИРОВАТЬ ПО). Почему их нельзя автоматически подразумевать и не указывать в тексте запросов? 1С как-то аргументировала это дело?
1 13_Mult
 
28.11.14
15:22
2 Garry1010
 
28.11.14
15:24
(1) Ну, это уже касательно SQL. При трансляции в аглицкий SQL 1С'ка могла бы и добавлять группировочные строки. А внутри себя могла бы и наплевать на них - многие запросы по объему текста резко укоротились бы.
3 18_plus
 
28.11.14
15:25
я думаю тут вопросы надо к разработчикам стандарта sql.
4 butterbean
 
28.11.14
15:26
имхо дело в том, что для группировки можно использовать поля не указанные в предложении ВЫБРАТЬ, и чтобы не было неоднозначных ситуаций синтаксис подразумевает перечисление всех группируемых полей
5 Ёпрст
 
28.11.14
15:28
пиши на sqllite- там можно не указывать
6 Garry1010
 
28.11.14
15:29
(4) А зачем это может понадобиться?ОО_ОО
7 Mnemonic1C
 
28.11.14
15:30
Кстати в конструкторе запросов можно на закладке "Группировка" указвать только суммируемые поля, это так, для совсем ленивых
8 Garry1010
 
28.11.14
15:32
(7) Это я знаю (так и делаю). Но в результате-то Конструктор всё равно добавляет строки. Они иногда при анализе текста мешают... Постоянно надо учитывать, что эти строки пропускаем.:)
9 Господин ПЖ
 
28.11.14
15:33
>Они иногда при анализе текста мешают..

плохой танцор в эфире...
10 kumena
 
28.11.14
15:34
(8) попробуйте написать километровые запросы а потом смотреть их, поэтому уж лучше написать чтобы явно было видно.
11 Гёдза
 
28.11.14
15:35
в мс скл в разделе группировок можно доп слова писать типа rollup
12 Garry1010
 
28.11.14
15:45
(10) Не понял. Как раз тут, кмк, и лучше без них - они из километровых станут полукилометровыми. А так в самих полях видно, что используется агрегатная функция.
13 dk
 
28.11.14
15:48
группировать можно по полям которых нет в итоговой выборке
14 YFedor
 
28.11.14
15:50
(0) А бывает, что нужно делать группировку, а итоги нет - тогда что будешь делать?
15 Garry1010
 
28.11.14
15:52
(4),(13) Только я всё равно не понял, зачем это может понадобиться... Пример где-нить есть? Ну и в конце концов, всё равно ВСЕ(!) поля которые есть в выборке должны быть группировочными - а если надо что-то сверх того, тогда можно и вписать их ЯВНО.
(14) А при чём тут итоги? Это сплошь и рядом делается: группировки есть, а итоги только общие. Ну и что?
16 18_plus
 
28.11.14
15:53
(12) с агрегатом может быть выбор и сложное выражение, сколько там и каких полей видно не сразу.
17 mikecool
 
28.11.14
15:57
вот есть же у людей время о такой херне думать...
18 18_plus
 
28.11.14
15:58

ВЫБРАТЬ
    МАКСИМУМ(РН.Период) КАК ДатаПлатежа,
    СУММА(РН.Расход) КАК СуммаОплат
ИЗ
    РегистрНакопления.РН КАК РН
СГРУППИРОВАТЬ ПО
    МЕСЯЦ(РН.Период)
19 Garry1010
 
28.11.14
16:02
(16) А-а-а, ну такой вариант да - усложняет дело.
(17) Есть же у людей время писать о том, что "есть же у людей время думать".;)
(18) Хммм. Но я уже уточнил свою позицию в (15).
20 Garry1010
 
28.11.14
16:03
Короче, всё сводится к стандартам SQL, как видно...
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший