连接sql server 2008中的行和列

时间:2011-04-18 04:58:33

标签: sql-server sql-server-2008

我有三列FirstName,LastNAme,MiddleName

表A

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

(可能有十个名称带有一个id或一个名称带有id)

FullName where ID=1的输出应为:

FullName
James Tony Peter,Jack Kallis end

1 个答案:

答案 0 :(得分:1)

您可以使用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, '')

这应该呈现您想要的输出。