|
Как сгруппировать записи в таблице | ☑ | ||
---|---|---|---|---|
0
Parallels
19.09.14
✎
09:14
|
Пусть исходная таблица имеет вид:
+-----+------+ | a1 | s1 | | a2 | s2 | | a1 | s3 | | a2 | s4 | +------------+ Количество строк, разумеется, произвольное. Нужно запросом получить результирующую таблицу вида: +-----+------+ | a1 | s1+s3| | a2 | s2+s4| +------------+ Можно ли это реализовать в 1с? |
|||
1
ДенисЧ
19.09.14
✎
09:15
|
ТипЗнч(sN) ?
|
|||
2
Parallels
19.09.14
✎
09:16
|
a - ссылка на элемент справочника.
s - строковые значения. |
|||
3
ДенисЧ
19.09.14
✎
09:17
|
Тогда запросом в дерево, потом обходить циклом.
|
|||
4
Балоун
19.09.14
✎
09:17
|
разрешаю
|
|||
5
Балоун
19.09.14
✎
09:18
|
ах, запросом. запрещаю
|
|||
6
Parallels
19.09.14
✎
09:20
|
(3) Это нужно в макете схемы компоновки данных отчета реализовать.
|
|||
7
Alex S D
19.09.14
✎
09:22
|
формируешь таблицу.. передаешь в скд..
|
|||
8
Балоун
19.09.14
✎
09:23
|
(6) ах, СКД. разрешаю
|
|||
9
Parallels
19.09.14
✎
09:24
|
(8) еще бы примерчик на sql
|
|||
10
Балоун
19.09.14
✎
09:24
|
(9) зачем?
|
|||
11
Parallels
19.09.14
✎
09:25
|
(10) чтобы был.
|
|||
12
Балоун
19.09.14
✎
09:25
|
хорошо. примерчик чего?
|
|||
13
Parallels
19.09.14
✎
09:26
|
как sql запросом получить из исходной таблицы результирующую (в шапке темы)
|
|||
14
Балоун
19.09.14
✎
09:27
|
(13) вроде бы на такое способны только некоторые диалекты SQL
|
|||
15
Ymryn
19.09.14
✎
09:28
|
(0) СоединитьСтроки() вам в помощь в качестве функции расчета выражения.
|
|||
16
Parallels
19.09.14
✎
09:28
|
И что же делать?
|
|||
17
ДенисЧ
19.09.14
✎
09:28
|
А SQL тут при чём? СКД сама умеет такое...
|
|||
18
Балоун
19.09.14
✎
09:28
|
(16) не выходить за рамки СКД
|
|||
19
Ymryn
19.09.14
✎
09:30
|
(15) + естественно работает только в СКД. В чистом запросе вы это не получите.
|
|||
20
Teresa
19.09.14
✎
09:33
|
а ВычислитьВыражение() не подойдет?
|
|||
21
Parallels
19.09.14
✎
09:36
|
Ладно, спасибо. Попробую разобраться с этой скд.
Хотя, конечно, тупость, что нет такой нужной агрегатной функции. |
|||
22
ДенисЧ
19.09.14
✎
09:39
|
(21) Тупость - это требовать от запроса вещей, для которых он не предназначен.
Иначе в следующий раз ты захочешь документы складывать. Или справочники... |
|||
23
Балоун
19.09.14
✎
09:40
|
тупость, конечно. итоги очень хорошо считать
|
|||
24
Parallels
19.09.14
✎
09:43
|
(22) существует же функция сумма() для чисел. Почему бы не реализовать такую для строк?
|
|||
25
Ymryn
19.09.14
✎
09:46
|
(24) в СКД она есть, выше указана. В запросе, с ней проблемы, ибо запрос потом транслируется. И насколько мне известно далеко не все СУБД, куда идет трансляция поддерживают этот функционал. Да и складывать строчки в запросе - это все-таки кроме отчетов обычно и не нужно, а для отчетов есть СКД.
|
|||
26
ДенисЧ
19.09.14
✎
09:51
|
(24) Потом для документов и справочников.
Напоследок оставим двоичные данные и бизнес-процессы. |
|||
27
Parallels
19.09.14
✎
09:55
|
(26) почему бы нет. Если придумать способ сложения справочников и документов.
|
|||
28
Балоун
19.09.14
✎
09:56
|
кто тут путает сложение с конкатенацией?
|
|||
29
AntiBuh
19.09.14
✎
10:00
|
(24) думаю это идет от того, что для чисел последовательность при сложении пох, а для строк слегка не пох
будешь потом капризничать - не правильно объединило |
|||
30
Parallels
19.09.14
✎
10:03
|
(29) Далеко не всегда. Мне, например, нужно получить список инвентарных номеров для групповых карточек основных средств одной строкой. И последовательность значения не имеет.
|
|||
31
Teresa
19.09.14
✎
10:05
|
(30) Зачем они нужны одной строкой? получайте массив и собирайте его потом в строку. Зачем это в запросе делать - непонятно. Сказали уже - запрос не предназначен для таких вещей.
|
|||
32
Балоун
19.09.14
✎
10:35
|
(30) пятый параметр у СоединитьСтроки - пох
|
|||
33
AntiBuh
19.09.14
✎
10:47
|
(30) это вот в конкретном случае не имеет, а завтра понадобится чтоб по порядку или еще как шли
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |