2017-01-20 1 views
1

Я использую синтаксис TSQL STUFF() (см. Ниже), чтобы объединить клиентское поле в одну строку, а код работает как шарм, но теперь у меня есть еще один вызов, мне нужно добавить возврат каретки для каждого клиента для отображения клиента на строку вместо непрерывного.Добавление возврата каретки на STUFF()

STUFF((SELECT ', ' + Client 
FROM #Resulttbl 
WHERE [row_date] = r.[row_Date] 
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, '') + CHAR(13)ELSE Client END) 

enter image description here

ответ

3

Добавлен +char(13) к вашему запросу и увеличение материала от 2 до 3.

STUFF((SELECT ', '+ CHAR(13) + Client 
FROM #Resulttbl 
WHERE [row_date] = r.[row_Date] 
FOR XML PATH('') 
, TYPE).value('.[1]', 'nvarchar(max)'), 1, 3, '') + CHAR(13)ELSE Client END) 
1

Вы можете обернуть всю функцию вещи с замены. Мне как-то приходилось угадывать, что ваш код, потому что у вас, похоже, есть часть выражения case, оставленного здесь.

REPLACE(STUFF((SELECT ', ' + Client 
FROM #Resulttbl 
WHERE [row_date] = r.[row_Date] 
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''), ', ', ',' + char(13)) 
Смежные вопросы