2012-12-07 154 views
1

可能重複:
SQL Server Group Concat with Different characters生成字符串

我需要SELECT一個例子,其中輸出是 '' 分隔的字符串

例如SELECT (... something ...) name AS output FROM name_table

給我

output 
----------------------------- 
'Ann', 'Tom', 'Wilson', ..... 

你會怎麼做,在SQL Server 2008 R2的?

謝謝!

+1

您需要發佈你想要查詢的數據的一些想法,以及某種真正的嘗試來解決這個問題roblem。 'SELECT(... something ...)'不是真正的嘗試*,並且你不知道'name_table'中有哪些列。當然,除非你願意接受'SELECT(... some_columns ...)'作爲答案,在這種情況下,我現在就會發布它。 :-) –

回答

4

Assuiming你有這樣一個模式,

CREATE TABLE Table1 
    ([GROUP_ID] int, [PERSON_NAME] varchar(6)); 

INSERT INTO Table1 
    ([GROUP_ID], [PERSON_NAME]) 
VALUES 
    (1001, 'ALEX'), 
    (1002, 'MATHEW'), 
    (1001, 'GEORGE'), 
    (1002, 'THOMAS'), 
    (1001, 'JAMES'); 

創建一個查詢,像這樣產生一個逗號分隔值,

SELECT 
    GROUP_ID, 
    STUFF(
     (SELECT ', ' + PERSON_NAME 
      FROM Table1 
      WHERE [GROUP_ID] = a.GROUP_ID 
      FOR XML PATH ('')) 
      , 1, 1, '') AS NamesList 
FROM Table1 AS a 
GROUP BY GROUP_ID 
+0

不錯,容易!回答挑選!謝謝! – user1589188

+0

不客氣':D' –