|
Как в запросе получить соединенное поле тип строка? | ☑ | ||
---|---|---|---|---|
0
Arutynov
23.04.18
✎
16:25
|
Здравствуйте. Вопрос по запросу
имеем: Поле 1, Поле2, Поле25 Поле 1, Поле2, Поле26 Необходимо вывести как: Поле1, Поле2, Поле25 Поле26 Соединенное поле тип строка Заранее спасибо |
|||
1
RomanYS
23.04.18
✎
16:29
|
Запрос так не умеет. Смотреть в сторону СКД, или постобработка результата запроса
|
|||
2
Ёпрст
23.04.18
✎
16:29
|
если поле25 и поле26 строки, то так
выбрать поле1,поле2,поле25+Поле26 из табличка Сгруппировать по Поле1,Поле2,Поле25+Поле26 |
|||
3
Arutynov
23.04.18
✎
16:35
|
(1) А в СКД как можно это сделать? Забыл дописать что там есть и иные строки.
Допустим Поле 1, Поле2, Поле25 Поле 1, Поле2, Поле26 Поле 3, Поле4, Поле27 Должно стать Поле 1, Поле2, Поле25 + Поле26 Поле 3, Поле4, Поле27 |
|||
4
Arutynov
23.04.18
✎
16:38
|
(2) извиняюсь, но не очень понял как я это сделаю
|
|||
5
RomanYS
23.04.18
✎
16:45
|
||||
6
Ёпрст
23.04.18
✎
16:46
|
(4)
ВЫБРАТЬ "Вася" КАК Поле1, "Федя" КАК Поле2, "Маша" КАК Поле25, "Дура" КАК Поле26 ПОМЕСТИТЬ Табличка ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Вася", "Федя", "Маша", "Хорошая" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Табличка.Поле1, Табличка.Поле2, Табличка.Поле25 + Табличка.Поле26 КАК Поле3 ИЗ Табличка КАК Табличка СГРУППИРОВАТЬ ПО Табличка.Поле1, Табличка.Поле2, Табличка.Поле25 + Табличка.Поле26 |
|||
7
Buster007
23.04.18
✎
16:48
|
(6) на уровень Гения1С претендуешь?)
|
|||
8
Arutynov
24.04.18
✎
08:05
|
Спасибо, сейчас по разбираюсь.
|
|||
9
catena
24.04.18
✎
08:52
|
(6)Оно не так хочет. Оно хочет агрегатную функцию для строк.
|
|||
10
catena
24.04.18
✎
08:53
|
"Вася" "Федя" "Маша"
"Вася" "Федя" "Дура" На выходе: "Вася" "Федя" "Маша Дура" |
|||
11
Сти
24.04.18
✎
09:23
|
К сожалению, функция STRING_AGG появилась только в MSSQL 2017. Разработчики, как обычно, долго смотрели на group_concat, которая была в MySQL с давних времен и наконец-то решили ее уворовать, решив, что такая функция все же полезна. Слишком долго. Вот и нет такого в 1С, они ж испокон веков на MS SQL ориентированы.
|
|||
12
Ёпрст
24.04.18
✎
14:40
|
(10) И ? на выходе так и будет ))))
|
|||
13
cw014
24.04.18
✎
15:02
|
(12) Ему сгруппировать надо, но вместо агрегатной функции конкатенацию строк нужно
|
|||
14
lEvGl
гуру
24.04.18
✎
15:10
|
чем не конкатенация в (6)
|
|||
15
cw014
24.04.18
✎
15:16
|
(14) Не такая ему нужна
|
|||
16
cw014
24.04.18
✎
15:18
|
(14) Ему что-то типа такого надо:
ВЫБРАТЬ "Вася" КАК Поле1, "Федя" КАК Поле2, "Маша" КАК Поле25 ПОМЕСТИТЬ Табличка ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Вася", "Федя", "Хорошая" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Табличка.Поле1, Табличка.Поле2, Табличка.Поле25[0] + Табличка.Поле25[1] КАК Поле3 ИЗ Табличка КАК Табличка СГРУППИРОВАТЬ ПО Табличка.Поле1, Табличка.Поле2, Табличка.Поле25[0] + Табличка.Поле25[1] Причем Табличка.Поле25[0] должно быть Табличка.Поле25, а Табличка.Поле25[1] должно быть Табличка.Поле26 |
|||
17
cw014
24.04.18
✎
15:20
|
Хотя можно так:
ВЫБРАТЬ "Вася" КАК Поле1, "Федя" КАК Поле2, "Маша" КАК Поле25 ПОМЕСТИТЬ Табличка ВЫБРАТЬ "Вася" КАК Поле1, "Федя" КАК Поле2, "Дура" КАК Поле26 ПОМЕСТИТЬ Табличка2 ; ВЫБРАТЬ Табличка.Поле1, Табличка.Поле2, Табличка.Поле25 + Табличка2.Поле26 ИЗ Табличка ВНУТРЕННЕЕ СОЕДИНЕНИЕ Табличка2 ПО Табличка.Поле1 = Табличка2.Поле1 И Табличка.Поле2 = Табличка2.Поле2 |
|||
18
lEvGl
гуру
24.04.18
✎
15:22
|
(17) ну да, не успел написать, чего мешает то не объединять и в разные сунуть
|
|||
19
lEvGl
гуру
24.04.18
✎
15:24
|
сопсно заголовок темы не соответствует проблеме
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |