|
Объединение значений нескольких строк в одну |
☑ |
0
Vikantib
18.05.15
✎
13:27
|
Добрый день.
Имеется запрос на выборку данных с полями Наименование, ШК, Цена, Количество. У одного наименования могут быть несколько ШК, соответственно и в таблице получается несколько строк на одно наименование. Не подскажите как перебрать строки, чтобы получилась ТЗ вида Наименование, ШК (все ШК в одной колонке через запятую), Цена и Количество, соответственно и в таблице одна строка на одно наименование ?
|
|
1
anatoly
18.05.15
✎
13:29
|
запросом - никак.
|
|
2
GROOVY
18.05.15
✎
13:30
|
ШК - это строка?
|
|
3
Vikantib
18.05.15
✎
13:31
|
Имелось ввиду в одной колонке и одной строке.
|
|
4
Vikantib
18.05.15
✎
13:31
|
ШК строка
|
|
5
Vikantib
18.05.15
✎
13:31
|
ШтрихКод если быть точным
|
|
6
Fragster
гуру
18.05.15
✎
13:34
|
"...Итоги
Максимум(Наименование), ...
По Номенклатура"
...
Выборка = Результат.Выбрать(бходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка.Следующий() Цикл
// тут будут различные номенклатуры
ВыборкаДетальные = Выборка.Выборать();
Пока ВыборкаДетальные.Следующий() Цикл
// тут будут различные ШК
|
|
7
Лефмихалыч
18.05.15
✎
13:34
|
(0) в запросе - ни как. Но есть СКД, в которой есть
СоединитьСтроки (JoinStrings)
Предназначена для объединения строк в одну строку.
Синтаксис:
СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок)
Параметры:
Значение - выражения, которые нужно объединить в одну строку. Если является Массивом, то в строку будут объединяться элементы массива. Если является ТаблицаЗначений, то в строку будут объединяться все колонки и строки таблицы;
РазделительЭлементов - строка, содержащая текст, который нужно использовать в качестве разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк;
РазделителиКолонок -строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию "; ".
Пример:
СоединитьСтроки(ТаблицаЗначений(НомерТелефона, Адрес));
|
|
8
GROOVY
18.05.15
✎
13:35
|
Можно извернутся с соединением выворки сомой с собой, но это если мы заранее знаем сколько ШК может быть. А потом просто конкатенацией собрать поле.
Но СКД это проще сделать.
|
|
9
Basilio
18.05.15
✎
13:36
|
(0)в запросе никак. а вот в СКД вроде как в последних версиях платформы добавили такую возможность. Поправьте если я ошибаюсь.
|
|
10
Vikantib
18.05.15
✎
13:39
|
(6) Спасибо, попробую в этом направлении, а то впринципе реализовал, но очень долго, потому как Цикл в Цикле получилось, что не есть хорошо. (7) Про СКД не подумал.
|
|