我收到了这个查询
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
我使用那个查询的东西,所以现在我需要它修复做我刚刚解释的这个东西,我无法弄明白。你可以说我是新的:)
答案 0 :(得分:0)
试试这个,
SET @sql = N'select STUFF((select '','' + cast(a1 as VARCHAR(10)) from DamDocumentType1 where documentid in (' + @var1 + ') FOR XML PATH('''')),1,1,'''') AS a1' ;
答案 1 :(得分:0)
试试这个,
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)