2017-07-13 77 views
0

我的表是這樣的:合併列中的值

ID  Name 
-------------- 
1  Ritesh 
1  Raj 
1  Suraj 
2  John 
2  Sanjay 
2  Max 
3  Dinesh 
3  Dheeraj 

我想用ID爲

的相同值的列ID加入列名稱的列值輸出應該是在一個新的表與單個列:

NewColumn 
------------------ 
Ritesh,Raj,Suraj 
John,Sanjay,Max 
Dinesh,Dheeraj 

前三個名字有相同的ID 1和相同ID 2和3

任何幫助?

+1

的可能的複製[模擬組\ _concat在Microsoft SQL Server 2005中的MySQL函數?(https://stackoverflow.com/questions/451415/simulating-group-concat-mysql-function-in-microsoft- sql-server-2005) –

+0

仍然沒有清晰的圖片。 – Ritesh

+0

也許這個會有幫助嗎? http://www.sqlservercentral.com/articles/comma+separated+list/71700/ –

回答

0

嘗試類似這樣的東西。

;WITH CTE AS 
(SELECT D1.ID, STUFF((SELECT ','+D2.NAME FROM DATA D2 FOR XML PATH('') WHERE D1.ID = D2.ID),1,1,'') AS NAME FROM DATA D1) 
SELECT DISTINCT NAME FROM CTE 
+0

我認爲語法是錯誤的。 – Ritesh