读书人

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

发布时间: 2012-05-20 16:03:12 作者: rapoo

数据报表 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 行受影响)**/ 

读书人网 >SQL Server

热点推荐