行列转换报语法错误
ALTER procedure [dbo].[acmor_cost] @YYMM varchar(6)
as
if not exists(select * from sys.objects where name='TB_cost')
begin
create table TB_cost
(
成本归属 varchar(50),类型 varchar(10),人数 int,加班费 float,应付小计 float,附加成本合计 float
)
end
truncate table TB_cost
insert into TB_cost select(case when c.Myfield1='01' then 'B24' when c.Myfield1='05' then 'X241'
when c.Myfield1='06' then '其他' when c.Myfield1='15' then '办公人员'
when c.Myfield1='17' then '铣床' when c.Myfield1='18' then 'TMA'
when c.Myfield1='19' then '其他/保洁员' when c.Myfield1='20' then 'N12'
when c.Myfield1='21' then 'X340' when c.Myfield1='22' then 'B9'
when c.Myfield1='23' then 'N56/N61' when c.Myfield1='24' then 'B170'
when c.Myfield1='09' then 'X241-Assy' when c.Myfield1='11' then 'X241-Shaft'
when c.Myfield1='13' then 'X241-Ring' when c.Myfield1='14' then 'X241-Nut'
when c.Myfield1='12' then 'X241-Collar' when c.Myfield1='25' then 'B171' end),EmpTypeName,
count(*) as 人数,SUM(PayNo10) as 加班费,
SUM(PayNo20) as 应付,SUM(PayNo21+PayNo22+PayNo23+PayNo24+PayNo29) as 成本
from PayMonthData a left join AttMonthData b
left join PerEmployee c on b.EmpID=c.EmpID
on a.EmpID=b.EmpID and a.YYMM=b.YYMM
where a.YYMM=@YYMM and c.Myfield1!='' and c.Myfield1 is not null
and EmpTypeName!='' and EmpTypeName is not null
and UserTypeName!='' and UserTypeName is not null
group by c.Myfield1,EmpTypeName,UserTypeName
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+','+ 成本归属 from TB_cost group by 成本归属
print(@sql)
set @sql=STUFF(@sql,1,1,'')
print(@sql)
set @sql='select * from TB_cost pivot(EmpTypeName,count(*),SUM(PayNo10),SUM(PayNo20),SUM(PayNo21+PayNo22+PayNo23+PayNo24+PayNo29) for 成本归属 in ('+@sql+')) t'
print(@sql)
exec(@sql)
---exec [dbo].[acmor_cost] '201506'运行结果
,B170,B171,B24,B9,N12,N56/N61,TMA,X241,X340,办公人员,其他,其他/保洁员,铣床
B170,B171,B24,B9,N12,N56/N61,TMA,X241,X340,办公人员,其他,其他/保洁员,铣床
select * from TB_cost pivot(EmpTypeName,count(*),SUM(PayNo10),SUM(PayNo20),SUM(PayNo21+PayNo22+PayNo23+PayNo24+PayNo29) for 成本归属 in (B170,B171,B24,B9,N12,N56/N61,TMA,X241,X340,办公人员,其他,其他/保洁员,铣床)) t
消息 102,级别 15,状态 1,第 1 行
',' 附近有语法错误。
sos

...全文
相关推荐
Sql语句实现表的行列转换,行转列,列转行
Sql语句实现表的行列转换,行转列,列转行
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
问题现象 项目使用vue/cli3脚手架搭建的前端项目,vue版本为2.6.10。 browserslist的配置如下: [ > 1%, last 2 versions] 但开发环境的IE11打开显示白屏,F12打开显示: 分析过程 5306行显示 “./node_modules/_debug@4.1.1@debug/src/browser.js”这个路径报错,由于eval()包含的代码中有ES6的语法,IE不支持,查了网上很多资料都说使用babel-polyfill来解决。 现象一:IE不支持ES6语法 Vuex requires a Promise polyfill
解决webpack -p压缩打包react报语法错误的方法
主要给大家介绍了关于解决webpack -p压缩打包react报语法错误的方法,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
C语言命语法错误大全
C语言命语法错误大全
引入JS文件IE6报语法错误或缺少对象问题的解决方法
引入JS文件IE6报错或缺少对象问题想必很多朋友都有遇到过吧,这个问题在于文件编码上,下面为大家介绍下比较不错的解决方法


疑难问题
