Я хочу выбрать набор данных в одну строку, но я все еще хочу, чтобы каждый элемент находился в отдельной строке (я добавлю его в Crystal Reports, и это будет быстрее, чем при использовании множества вложенных отчетов.) *
Итак, у меня есть следующие данные:
ID Assessor
1 Black
1 Jones
и я хочу запросить его и вернуть одну строку, которая выглядит следующим образом:
Black
Jones
если я делаю выбор, используя coalesce, я могу сделать его запятым или разделенным точкой с запятой, но не разделителем строки:
BEGIN
declare @Assessors NVarChar(max)
Declare @LineFeed varchar(10)
DECLARE @Return varchar(10)
Set @LineFeed = char(10)
SET @Return = char(13)
Select @Assessors = COALESCE(@Assessors + ', ', '') + a.Assessor
FROM dbo.Assessment a
Where (@ID = a.ID)
Return @Assessors
END
в этом случае функция вернет 'Black, Jones'. Но если я изменю строку на
Select @Assessors = COALESCE(@Assessors + @Return + @LineFeed, '') + a.Assessor
он возвращает 'Black Jones' - он не вставляет перевод строки и не возвращает, только пробел.
Полагаю, мне не нужно использовать Coalesce, но я попробовал просто стандартную конкатенацию, и это тоже не вставит. Я прямо сейчас включил это в функцию, но планирую поместить ее как часть хранимой процедуры, чтобы она была быстрее.