当前位置: 代码迷 >> Sql Server >> 数据报表 sql语句请求大牛帮助,多谢
  详细解决方案

数据报表 sql语句请求大牛帮助,多谢

热度:218   发布时间:2016-04-27 12:48:49.0
数据报表 sql语句请求大牛帮助,谢谢。
原有数据表内容如下

公司名称 报表年份 报表月份 采购 办公用品支出 汽油费支出 日常消费  

公司一 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 行受影响)**/