Возвращать строку SQL один ко многим значениям - PullRequest
1 голос
/ 26 сентября 2010

У меня есть таблица: Task и еще одна TaskHistory

1 Задача -> Много историй задач

TaskHistory имеет поле с именем «Комментарий».

Я бы хотел, чтобы из SQL возвращалась строка всех комментариев к истории задач для любого идентификатора задачи, который я передаю.

Пример: GetTaskHistory (@TaskId)

Возвращает: 'Комментарий: некоторый комментарий \ r \ n Комментарий: еще один комментарий \ r \ n \ Комментарий: еще один'

Мне интересно, будет ли возвращение из SQL быстрее, чем набор записей, который я перебираю в своем приложении для построения строки.

Возможно ли это?

Спасибо!

1 Ответ

1 голос
/ 26 сентября 2010

Это возможно, однако я бы порекомендовал сохранить форматирование в приложении и просто вернуть данные из SQL.Однако это мое мнение о том, как следует разделять приложения.

SELECT Comment
FROM TaskHistory
WHERE TaskID = 1

Чтобы объединить результаты столбца в строку, вы можете сделать что-то вроде:

DECLARE @HistoryComments nvarchar(MAX) 

SELECT @HistoryComments = COALESCE(@HistoryComments + ' \r\n ', '') + Comment
FROM FROM TaskHistory
WHERE TaskID = 1

SELECT TaskHistorys = @HistoryComments 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...