объединить строки и столбцы в SQL Server 2008 - PullRequest
1 голос
/ 18 апреля 2011

у меня три столбца FirstName,LastNAme,MiddleName

Таблица A

FirstNAme LastName MiddleName  ID
 James     Tony     peter       1
 Jack      Kallis   end         1
  nnnn      nnn      nnn        2
  mmm       mm       aa         3

(может быть десять имен с одним идентификатором или одно имя с идентификатором)

Вывод для FullName where ID=1 должен быть:

FullName
James Tony Peter,Jack Kallis end

1 Ответ

1 голос
/ 18 апреля 2011

Вы можете сделать это с помощью метода STUFF and FOR XML PATH:

SELECT 
    STUFF(
       (SELECT
           ',' + ISNULL(FirstName, '') + ' ' + ISNULL(LastName, '') + ' ' + ISNULL(MiddleName, '')
        FROM
           dbo.TableA
        WHERE
           ID = 1
        FOR XML PATH('')), 1, 1, '')

Это должно привести к желаемому результату.

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