CREATE proc yin_reset @a varchar(50),@b varchar(50)
as
begin
select fbatchno
,fcheckqty
,fitemname
,Fqcitemname
,sum(fitemsamplebadqty) as fitemsamplebadqty into #temp1
from view_goodsreturninspectionslip708
where fbatchno>='@a'and fbatchno<='@b'group by fbatchno,fcheckqty,fitemname,Fqcitemnamedrop table #temp1
declare @sql varchar(8000)
set @sql = 'sfbatchno as 客退单号
,fcheckqty as 检验数量
,fitemname as 成品型号 '
select @sql = @sql + ' , max(case Fqcitemname when ''' + Fqcitemname + ''' then fitemsamplebadqty else 0 end) [' + Fqcitemname + ']'
from (select distinct Fqcitemname from #temp1) as t
set @sql = @sql + ' from #temp1 group by fbatchno,fcheckqty,fitemname,Fqcitemname'
exec(@sql)
drop table #temp1
endGO检查语法没错
执行的时候报错:
(所影响的行数为 0 行)服务器: 消息 156,级别 15,状态 1,行 1
在关键字 'as' 附近有语法错误。
不知道是什么问题?
as
begin
select fbatchno
,fcheckqty
,fitemname
,Fqcitemname
,sum(fitemsamplebadqty) as fitemsamplebadqty into #temp1
from view_goodsreturninspectionslip708
where fbatchno>='@a'and fbatchno<='@b'group by fbatchno,fcheckqty,fitemname,Fqcitemnamedrop table #temp1
declare @sql varchar(8000)
set @sql = 'sfbatchno as 客退单号
,fcheckqty as 检验数量
,fitemname as 成品型号 '
select @sql = @sql + ' , max(case Fqcitemname when ''' + Fqcitemname + ''' then fitemsamplebadqty else 0 end) [' + Fqcitemname + ']'
from (select distinct Fqcitemname from #temp1) as t
set @sql = @sql + ' from #temp1 group by fbatchno,fcheckqty,fitemname,Fqcitemname'
exec(@sql)
drop table #temp1
endGO检查语法没错
执行的时候报错:
(所影响的行数为 0 行)服务器: 消息 156,级别 15,状态 1,行 1
在关键字 'as' 附近有语法错误。
不知道是什么问题?
2. 你的@sql 好像没有select 关键字??
,fcheckqty as 检验数量
,fitemname as 成品型号 ' ==>
set @sql = 'select sfbatchno as 客退单号
,fcheckqty as 检验数量
,fitemname as 成品型号 '
,fcheckqty as 检验数量
,fitemname as 成品型号 '