原有数据表内容如下
公司名称 报表年份 报表月份 采购 办公用品支出 汽油费支出 日常消费
公司一 2012 2 10 4 1 3
公司二 2012 1 3 5 4 5
公司三 2012 2 12 2 5 9
公司一 2012 3 55 7 8 1
公司二 2012 2 10 4 1 3
需要的报表格式为:
2012 年1月 到 2012年3月 [可以选择控制选择区间]
采购合计 办公用品支出合计 汽油费支出合计 日常消费合计
公司一
公司二
公司三
不知道能否用sql或者视图的方式实现?请各位大牛帮忙
------解决方案--------------------
- SQL code
select公司名称,sum(采购),sum(办公用品支出),sum(汽油费支出),sum(日常消费)from 原有数据表where 报表年份*100+报表月份>=201201and 报表年份*100+报表月份<=201203group by 公司名称
------解决方案--------------------
- SQL code
if object_id('[tb]') is not null drop table [tb]gocreate table [tb]([公司名称] varchar(6),[报表年份] int,[报表月份] int,[采购] int,[办公用品支出] int,[汽油费支出] int,[日常消费] int)insert [tb]select '公司一',2012,2,10,4,1,3 union allselect '公司二',2012,1,3,5,4,5 union allselect '公司三',2012,2,12,2,5,9 union allselect '公司一',2012,3,55,7,8,1 union allselect '公司二',2012,2,10,4,1,3goselect 公司名称, sum(采购) as 采购合计, sum(办公用品支出) as 办公用品支出合计, sum(汽油费支出) as 汽油费支出合计, sum(日常消费) as 日常消费合计from tbwhere 报表年份*100+报表月份 between 201201 and 201203group by 公司名称/**公司名称 采购合计 办公用品支出合计 汽油费支出合计 日常消费合计------ ----------- ----------- ----------- -----------公司二 13 9 5 8公司三 12 2 5 9公司一 65 11 9 4(3 行受影响)**/