逗号从临时表中分隔列值

时间:2014-02-28 13:05:12

标签: sql sql-server-2008 sql-server-2008-r2

我将select语句结果插入临时表。我希望它的一个列值逗号分隔,所以我尝试了以下但它不起作用。

SELECT @IdList = COALESCE(@IdList+',' ,'') + s.Id 
        FROM (SELECT Id FROM #_TempStudentTable) as s

我检查了#_TempStudentTable中的数据,它有数据。但是当我尝试显示IdList时,它返回NULL。 帮我。我不知道是什么问题。

1 个答案:

答案 0 :(得分:2)

试试这个:

DECLARE @IdList VARCHAR(MAX)

SELECT @IdList  = COALESCE(@IdList  + ',','') + CAST(Id AS VARCHAR(100)) 
FROM #_TempStudentTable

SELECT @IdList 

您可以使用XML(如下所示

)获取无变量
SELECT  STUFF(( SELECT  ',' + CAST(Id AS VARCHAR(10))
            FROM    #_TempStudentTable
            FOR XML PATH (''))
            , 1, 1, '')