Msgstr "Если вычисляемый скаляр перемещается не в то место в плане, он просто перестает работать!

я есть следующая таблица

Created    Comment
2010/10/10 Text1 
2010/11/11 Text2
2010/12/12 Text3

Мне нужно собрать все комментарии в одну строку

SELECT  @Comment = COALESCE(@Comment, '')
   + CHAR(13) + CHAR(10) + CONVERT(NVARCHAR(30), [dbo].[Comment].[Created], 101) + ': ' + ISNULL([Comment].[Text], '')
    FROM Comment

Без заказа все работает как положено и все комментарии возвращаю. Но после запуска следующего кода, гдеСОРТИРОВАТЬ ПО пункт добавлен:

SELECT  @Comment = COALESCE(@Comment, '')
   + CHAR(13) + CHAR(10) + CONVERT(NVARCHAR(30), [Created], 101) + ': ' + ISNULL([Text], '')
    FROM Comment
  ORDER BY Created

Вернуть только последний комментарий. Кто-нибудь знает, почему ORDER BY приводит к странному результату в конкатенации?

PS: нормально работает, еслиДля XML пункт используется вместо конкатенацииЕсть ли способ создать функцию SQL Server для «объединения» нескольких строк из подзапроса в одно поле с разделителями?.

Ответы на вопрос(1)

Ваш ответ на вопрос