将结果中的列合并为一个,用逗号分隔
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)
我收到了这个查询
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)