Имя: Пароль:
1C
 
Конкатенация строк в запросе
0 rs_trade
 
26.01.09
10:45
Пример запроса

ВЫБРАТЬ
   АдресныеСокращения.Код КАК Код,
   АдресныеСокращения.Наименование КАК Наименование
ИЗ
   Справочник.АдресныеСокращения КАК АдресныеСокращения

Код - Число, Наименование - Строка

Как получить колонку Код+"_"+Наименование?

Перепробовал кучу вариантов. На все ругается...
1 Нуф-Нуф
 
26.01.09
10:46
конкатенация... надо запомнить
2 Defender aka LINN
 
26.01.09
10:46
(0) "На все ругается..." - кричит "не хочу, не буду!"? Не верю.
3 Fragster
 
гуру
26.01.09
10:47
привести к одному типу надо сначала... а вот может ли Выразить() число в строку запихасть - кажись нет...
4 Stepa86
 
26.01.09
10:48
в запросе нельзя (стандартно) использовать конкатенацию строк, если изначально типы не были строковыми...почитай тут v8: Преобразование числа в строку в запросе
5 rs_trade
 
26.01.09
10:51
(3) Выразить не работает...
6 rs_trade
 
26.01.09
10:55
+(5) причем не понятно почему, если добавить в запрос такую строку

Выразить(АдресныеСокращения.Код КАК Число(15.2))

в оригинале она выглядит так

CAST(_Reference1_Q_000_T_001._Code AS NUMERIC(15,0)) AS f_3

меняем NUMERIC на CHAR и все отлично работает. А так не работает

Выразить(АдресныеСокращения.Код КАК Строка(15))
7 Defender aka LINN
 
26.01.09
10:57
(6) Это уже не сюда вопрос. На Селезнева пиши :)
8 Stepa86
 
26.01.09
10:59
(6) перечитай посты от DmitrO в (4), он все объясняет
9 Сергей-ХХХ
 
26.01.09
11:00
ВЫБРАТЬ
   АдресныеСокращения.Код КАК Код,
   АдресныеСокращения.Наименование КАК Наименование,
   """"+АдресныеСокращения.Код + ""_"" + АдресныеСокращения.Наименование
ИЗ

Так не работает?
10 Сергей-ХХХ
 
26.01.09
11:01
""""+АдресныеСокращения.Код + ""_"" + АдресныеСокращения.Наименование КАК ХренСГорыБольшаяСкорость
ИЗ
   Справочник.АС КАК АдресныеСокращения


Для полноты картины...
11 Сергей-ХХХ
 
26.01.09
11:09
(9, 10) Был неправ, в SQL это все работает без проблем, а в 1С - нет...
12 skunk
 
26.01.09
11:22
ВЫБРАТЬ
   Банки.Код,
   Банки.Наименование,
   ВЫБОР
       КОГДА Банки.Код = NULL
           ТОГДА Банки.Код + "_" + Банки.Наименование
           ИНАЧЕ Банки.Код + "_" + Банки.Наименование
   КОНЕЦ КАК Поле1
ИЗ
   Справочник.Банки КАК Банки
13 Defender aka LINN
 
26.01.09
11:24
(12) Жжошь.
14 Chai Nic
 
26.01.09
11:25
(12) NULL это не "пустое значение", это гораздо хуже
15 skunk
 
26.01.09
11:26
(14)а для приведенного когда как это важно?
16 skunk
 
26.01.09
11:27
(13)ржу не ржу ... а делает то, что автору нужно
17 Chai Nic
 
26.01.09
11:30
(16) Вы не в теме. Это работает, только если код - текстовый.
18 Defender aka LINN
 
26.01.09
11:30
(16) Бугога... Я не могу...
Ниче, что "Код" в справочнике банков - строка? А у автора - число?
Ну и условие - это вообще нечто. Тебя надо в огнеметные войска, тебе и напалма не надо :)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.