2012-12-07 156 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' –