数据库有 A B C 3个不同ITEM, 每天生产量已经知道, 求每天生产量总和 如: 每天生产量
    1月1号   1月2号    1月3号   1月4号
A    5         7       8        9
B    7         7       8        8
C    6         7       8        7现在我想要个SQL语句, 结果是这样的:
    1月1号   1月2号    1月3号   1月4号
A    5         12      20       29
B    7         14      22       30
C    6         13      21       28就是截至到当天的总生产量, 谢谢大家了

解决方案 »

  1.   

    如果只是这几个就这样
    select 
      1月1号,
      1月1号+1月2号 as 1月2号,
      1月1号+1月2号+1月3号 as 1月3号, 
      1月1号+1月2号+1月3号+1月4号 as 1月4号
    from tb
      

  2.   

    表结构这样?
    1月1号  1月2号    1月3号  1月4号
    A    5        7      8        9 
    B    7        7      8        8 
    C    6        7      8        7 
      

  3.   

    如果一天为一个字段 只能类似1楼写法了吧当然 如果字段允许为空 还要 ISNULL([1月1号],0)处理下
      

  4.   

    没有更简单一点的SQL语句了吗?
    因为选择的日期都是不定的, 有可能短时间, 也有可能非常长的时间
      

  5.   


    SELECT     SUM(production.Production.Volume) AS Volume, production.Grade.GradeName, CONVERT(varchar(10), production.Production.CutDate, 120) AS CutDate
    FROM         production.Production INNER JOIN
                          production.Grade ON production.Production.GradeID = production.Grade.GradeID
    GROUP BY CONVERT(varchar(10), production.Production.CutDate, 120), production.Grade.GradeName
    这是从表里选择出我需要的数据, 就是每天每个GRADE的VOLUME量, 可是我想在选完以后, 每个日期再加上之前日期的VOLUME量(第1天除外)
      

  6.   

    表结构有问题,
    如果改成纵向存储就好实现了。A    1月1号 5
    A  1月2号  7 
    A  1月3号  8
    A  1月4号  9 
      

  7.   

    名称   日期       生产量
    A     1月1号     5
    A     1月2号     7
    A     1月3号     8
    A     1月4号     9 B     1月1号     7
    B     1月2号     7
    B     1月3号     8
    B     1月4号     8 C     1月1号     6
    C     1月2号     7
    C     1月3号     8
    C     1月4号     7 变成名称   日期       生产量
    A     1月1号     5
    A     1月2号     12
    A     1月3号     20
    A     1月4号     29 B     1月1号     7
    B     1月2号     14
    B     1月3号     22
    B     1月4号     30 C     1月1号     6
    C     1月2号     13
    C     1月3号     21
    C     1月4号     28这是你要的结构吗?? 
      

  8.   

    是不是只要输入一个时间
    那么就得到从第一天到你输入这个时间的生产量的总合对吧?如果是,可以用下面的语句
    select sum(生产量A)as A,sum(生产量B)as B,sum(生产量C)as C from 表 where 时间 < '输入的时间'如果只是求两个时间之间的总和,可以用下面的select sum(生产量A)as A,sum(生产量B)as B,sum(生产量C)as C from 表 where 时间 between '开始时间' and '结束时间'
      

  9.   

    是输入一个时间段, 然后在这个时间段里每一天的生产总量
    比如说选择从1月7号到1月16号, 那么就显示这几天每天的总和C    1月7号    6         (7号)
    C    1月8号    13        (7号+8号)
    C    1月9号    21           ...
    C    1月10号   28
    C    1月11号   35
    C    1月12号   48
    C    1月13号   57
    C    1月14号   63
    C    1月15号   70
    C    1月16号   78
    C    1月17号   88
      

  10.   


    select a.名称,a.日期,sum(b.生产量)
    from yourTable a inner join yourTable b on a.名称=b.名称 and a.日期>=b.日期
    group by a.名称,a.日期