Отделение данных от столбца с несколькими символами (13) разрывов строк на их собственные столбцы - PullRequest
0 голосов
/ 24 августа 2018

Поле называется fmstreet, когда поле отображается в SSRS, оно содержит имя менеджера, начинающееся с ATTN: Менеджер магазина, адрес улицы 1 и адрес улицы 2,.Данные в SSMS выглядят так: ВНИМАНИЕ: Брайан Адамс, улица Альберта, 343, 17-я улица.Это поле отображено в SSRS

ВНИМАНИЕ: Брайан Адамс
343 Альберт-авеню
17-я улица

Мне удалось получить первую строку вэто собственная колонка, но я точно не знаю, как это сделать.Кроме того, некоторые строки имеют только один адрес, а не два.

SELECT somast.fsono, 
somast.fcustno,
somast.fcontact,
soship.fmstreet,
Case When cast(soship.fmstreet AS CHAR(100)) like 'ATTN:%'
Then LEFT(cast(soship.fmstreet AS CHAR(100)),CHARINDEX(CHAR(13),cast(soship.fmstreet AS CHAR(100))))
End as 'Attention'
FROM  soitem
INNER JOIN somast ON soitem.fsono = somast.fsono
LEFT OUTER JOIN oship ON somast.fsono = soship.fcsono AND soship.fcenumber = ''
WHERE  (somast.fstatus <> 'Cancelled') AND (somast.fsocoord = 'IFP'
OR somast.fsocoord = '711');

Ответы [ 2 ]

0 голосов
/ 24 августа 2018

Я думаю, что ваш лучший вариант здесь - изучить использование функции Split в SSRS, и вы можете разделить строку на основе char (13), я думаю. Похоже, что это сообщение направит вас правильно, я бы определенно проверил наличие значения, как оно предполагает.

Возможно ли выражение ssrs для разделения строки?

0 голосов
/ 24 августа 2018

Это потому, что вы делаете результаты в сетке ... измените вывод SSMS на результаты в текст, и вы увидите разрывы строк.Инструменты> Параметры> Результаты запроса> Результаты в текст или просто нажмите кнопку на панели инструментов, она слева на изображении ниже:

enter image description here

...