这是由于sql语句自身的编码规则所决定的,你这样的写法不符合sql语句的书写规则,所以会提示错误信息。
如果一定要这些操作,可直接建立一次存储过程具体如下:
create proc [dbo].[xixi]
as
beging
declare @t6 varchar(500)
set @t6='select '
declare @sqlstr varchar(4000)
set @sqlstr =('
select '+@t6+'='+@t6+'+'['+category+']=sum(case when category='''+category+''' then 1 end)'
注:这里的语句你自己看着修改一下 @t6这次参数一定要使用 '+@t6+' ;sql语句中字符串的拼接需要使用 str(字符串)这样的形式去拼加
')
exec @sqlstr
end
希望对你有所帮助!