【发布时间】:2011-12-13 14:53:42
【问题描述】:
如何从以下不带参数的示例和单个查询中获得逗号分隔的结果:
select FirstName + ' ' LastName from table_of_Names where NameType='game show host'
Bob Barker, Willie Aammes, Steve Allen, Clive Anderson
谢谢。
【问题讨论】:
标签: sql-server tsql
如何从以下不带参数的示例和单个查询中获得逗号分隔的结果:
select FirstName + ' ' LastName from table_of_Names where NameType='game show host'
Bob Barker, Willie Aammes, Steve Allen, Clive Anderson
谢谢。
【问题讨论】:
标签: sql-server tsql
带参数(性能更好):
DECLARE @list VARCHAR(max)
SELECT @list = COALESCE(@list + ', ' , '') + FirstName + ' ' + LastName
FROM table_of_Names where NameType='game show host'
SELECT @list
不带参数(性能不佳):
select stuff((select ','+ FirstName + ' ' + LastName
FROM table_of_Names where NameType='game show host'
for xml path(''), type).value('.', 'varchar(max)'), 1, 1, '') as NameList
【讨论】:
我知道的最简单的方法是编写一个存储过程,它遍历结果集并为除最后一行之外的所有行附加逗号和空格。
【讨论】: