首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

分组求和的有关问题

2012-02-09 
分组求和的问题access表R, 结构(日期 站点 R2020),字段都为文本,日期站点R202020000101长沙000120000102长

分组求和的问题
access表R, 结构(日期 站点 R2020),字段都为文本,
日期 站点 R2020
20000101 长沙 0001
20000102 长沙 0121
20000103 长沙 0131
20000104 长沙 0351
20000101 湘潭 0021
20000102 湘潭 0231
20000103 湘潭 0121
... ... ...

要求出一个站点每年每月的和,如下:
年份 1月 2月 ... 年

我用:
  SQLstr:='Select x.*,(1月+2月+3月+4月+5月+6月+7月+8月+9月+10月+11月+12月)/12 as 年'
  +' from(select left(A,4) as F0,'
  +' sum(iif(right(A,2)=''01'',B,0)) as 1月,'
  +' sum(iif(right(A,2)=''02'',B,0)) as 2月,'
  +' sum(iif(right(A,2)=''03'',B,0)) as 3月,'
  +' sum(iif(right(A,2)=''04'',B,0)) as 4月,'
  +' sum(iif(right(A,2)=''05'',B,0)) as 5月,'
  +' sum(iif(right(A,2)=''06'',B,0)) as 6月,'
  +' sum(iif(right(A,2)=''07'',B,0)) as 7月,'
  +' sum(iif(right(A,2)=''08'',B,0)) as 8月,'
  +' sum(iif(right(A,2)=''09'',B,0)) as 9月,'
  +' sum(iif(right(A,2)=''10'',B,0)) as 10月,'
  +' sum(iif(right(A,2)=''11'',B,0)) as 11月,'
  +' sum(iif(right(A,2)=''12'',B,0)) as 12月'
  +' from(select left(日期,6) as A,sum(VAL(R2020)) as B from R group by left(A,6)) t group by left(A,4)) as x';
  

执行时说left(日期,6) 不包含合计部分。晕,请指点。




[解决办法]
from(select left(日期,6) as A,sum(VAL(R2020)) as B from R group by left(日期,6)) t group by left(A,4)) as x';

热点排行