将结果中的列合并为一个,用逗号分隔

Couple columns from result into one separated with comma

我收到了这个查询

declare var1 nvarchar(100)
    set @var1='84,85,86'
    SET @sql = N'select a1 from DamDocumentType1 where documentid in (' + @var1 + ')' ;
    EXEC (@SQL);

我得到的结果是一列四行。例如:

3/2014

4/2014

5/2014

8/2014

如何将这几行放在一行一列中并用 comma.For 分隔它们 例如:

3/2014,4/2014,5/2014,8/2014

我用那个查询来做某事,所以现在我需要修复它来做这件事我刚刚解释过,我想不通。你可以说我是新来的:)

试试这个,

SET @sql = N'select STUFF((select '','' + cast(a1 as VARCHAR(10)) from DamDocumentType1 where documentid in (' + @var1 + ') FOR XML PATH('''')),1,1,'''') AS a1' ;

这样试试,

DECLARE @var1 NVARCHAR(100)
DECLARE @SQL NVARCHAR(max) = ''

SET @var1 = '84,85,86'
SET @SQL = 'select stuff((
            SELECT '', '' + a1
            FROM DamDocumentType1
            where documentid in (' + @var1 + ')
            FOR XML path('''')
            ), 1, 2, '''')'

EXEC(@sql)