2011-04-18 72 views
1

我有三列FirstName,LastNAme,MiddleName串連行和列在SQL Server 2008

表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

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

這應該呈現您想要的輸出。

+0

不要忘記,如果firstname可以爲null,它必須包裝在isnull(firstname,'')中, – 2011-04-18 07:05:21