生成字符串
问题描述:
我需要SELECT一个例子,其中输出是 '' 分隔的字符串
例如SELECT (... something ...) name AS output FROM name_table
给我
output
-----------------------------
'Ann', 'Tom', 'Wilson', .....
你会怎么做,在SQL Server 2008 R2的?
谢谢!
答
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' –
您需要发布你想要查询的数据的一些想法,以及某种真正的尝试来解决这个问题roblem。 'SELECT(... something ...)'不是真正的尝试*,并且你不知道'name_table'中有哪些列。当然,除非你愿意接受'SELECT(... some_columns ...)'作为答案,在这种情况下,我现在就会发布它。 :-) –