2013-04-08 69 views
0

我需要从一个查询中获取值作为单行,用一个分隔符分隔,但选择了我,但这有点棘手。如何获得查询结果中包含多行的结果,在一行中由一个分隔符分隔?

所以,我有:

select employer from employers 

我将返回:

(line1) Anne 
(line2) Sue 
(line3) Villy 
(line4) John 
(nth line) Marry 

我需要的结果是这样的:

'Anne','Sue','Villy','John','Marry' 

或者至少是:

Anne^Sue^Villy^John^Marry 

任何提示? 谢谢,

回答

2
declare @s varchar(max) = '' 

select @s = case 
    when @s <> '' then 
     @s + ',''' + employer + '''' 
    else 
     @s + '''' + employer + '''' end 
from employers 

select @s 
+0

万分感谢。从游标中救了我!它像一个魅力。祝你有美好的一天! – BogdanM 2013-04-08 13:57:55

2
SELECT STUFF((SELECT DISTINCT ', ' + Employer AS [text()] 
FROM Employers 
FOR XML PATH ('')),1,1,'') 
相关问题