declare @sql nvarchar(4000)
set @sql=''
select @sql=@sql+',['+InvModel+']=sum(case InvModel when '''+InvModel+''' then InvNum else 0 end)'
from Work
where CreateDate between CONVERT(varchar(7), dateadd(mm,-1,getdate()) , 120) + '-22' and CONVERT(varchar(7), getdate() , 120) + '-22'
-- group by InvModel
print(@sql)
set @sql=substring(@sql,2,len(@sql)-1)--去掉逗号
print(@sql)
exec ('select ' + @sql + ' from WorkO ')
消息 537,级别 16,状态 3,第 8 行
传递给 LEFT 或 SUBSTRING 函数的长度参数无效。
消息 156,级别 15,状态 1,第 1 行
关键字 'from' 附近有语法错误。
出错啊 我把where 条件去掉 就不会报错 这是为什么啊??
set @sql=''
select @sql=@sql+',['+InvModel+']=sum(case InvModel when '''+InvModel+''' then InvNum else 0 end)'
from Work
where CreateDate between CONVERT(varchar(7), dateadd(mm,-1,getdate()) , 120) + '-22' and CONVERT(varchar(7), getdate() , 120) + '-22'
-- group by InvModel
print(@sql)
set @sql=substring(@sql,2,len(@sql)-1)--去掉逗号
print(@sql)
exec ('select ' + @sql + ' from WorkO ')
消息 537,级别 16,状态 3,第 8 行
传递给 LEFT 或 SUBSTRING 函数的长度参数无效。
消息 156,级别 15,状态 1,第 1 行
关键字 'from' 附近有语法错误。
出错啊 我把where 条件去掉 就不会报错 这是为什么啊??
select ('select ' + @sql + ' from WorkO ')
把语句粘出来看出来有啥错
传递给 LEFT 或 SUBSTRING 函数的长度参数无效。
(1 行受影响)select from WorkO
消息 156,级别 15,状态 1,第 1 行
关键字 'from' 附近有语法错误。