我将select语句结果插入临时表。我希望它的一个列值逗号分隔,所以我尝试了以下但它不起作用。
SELECT @IdList = COALESCE(@IdList+',' ,'') + s.Id
FROM (SELECT Id FROM #_TempStudentTable) as s
我检查了#_TempStudentTable
中的数据,它有数据。但是当我尝试显示IdList
时,它返回NULL。
帮我。我不知道是什么问题。
答案 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, '')