--给个例自己看看,从你的描述中我不出来语句如何写?现有如下结构的表:
编号----产品名称----产量(int)----日期(varchar)
1   ----某产品1 ----100      ----20060922
2   ----某产品1 ----130      ----20060923
3   ----某产品2 ----104      ----20060924
5   ----某产品1 ----100      ----20060925
7   ----某产品1 ----200      ----20060926
.
.
.
现在要求查询每天的累计产量如:
20060923的累计产量就为20060922的100+20060923的130=230.
20060924的累计产量就为230+104=334,
20060925的累计产量为334+100=434...
请问该如何查询?
create table #a(
       [id] [char] (10),
       [proname] [char] (10),
       [output] [int],
       [dt] [datetime]
)insert into #a(id,proname,output,dt) values('1','某产品1',100,'2006-09-22')
insert into #a(id,proname,output,dt) values('2','某产品1',130,'2006-09-23')
insert into #a(id,proname,output,dt) values('3','某产品2',104,'2006-09-24')
insert into #a(id,proname,output,dt) values('5','某产品1',100,'2006-09-25')
insert into #a(id,proname,output,dt) values('7','某产品1',200,'2006-09-26')select *,(select sum(output) from #a where dt<=b.dt) as '每日总量'
from #a b
order by dtdrop table #a
id         proname    output      dt                                                     每日总量        
---------- ---------- ----------- ------------------------------------------------------ ----------- 
1          某产品1       100         2006-09-22 00:00:00.000                                100
2          某产品1       130         2006-09-23 00:00:00.000                                230
3          某产品2       104         2006-09-24 00:00:00.000                                334
5          某产品1       100         2006-09-25 00:00:00.000                                434
7          某产品1       200         2006-09-26 00:00:00.000                                634(所影响的行数为 5 行)
if object_id('pubs..tb') is not null
   drop table tb
gocreate table tb(日期 varchar(10),品种 varchar(10),产量 int)
insert into tb(日期,品种,产量) values('2007-04-04',    'JC10' ,        20)
insert into tb(日期,品种,产量) values('2007-04-04',    'T/C20',        30)
insert into tb(日期,品种,产量) values('2007-04-05',    'T/C20',        40)
insert into tb(日期,品种,产量) values('2007-04-05',    'JC10' ,        10)
insert into tb(日期,品种,产量) values('2007-04-06',    'JC10' ,        15)
goselect *,(select sum(产量) from tb where 日期<=b.日期 and 品种 = b.品种) as '本月累计' from tb bdrop table tb日期       品种       产量        本月累计        
---------- ---------- ----------- ----------- 
2007-04-04 JC10       20          20
2007-04-04 T/C20      30          30
2007-04-05 T/C20      40          70
2007-04-05 JC10       10          30
2007-04-06 JC10       15          45(所影响的行数为 5 行)

解决方案 »

  1.   

    日报表               2007-09-05 产品         型号 期初数量 进货数量 销售数量 期末数量     
    Nokia 7610 2 10 5 7   
    Nokia       6110         3 5 4 4   
    Moto         A1200       5 4 1 8   
    Moto         V3i           6 4 2 日报表: 进货/销售 的时候对 进货/销售,期末数量进行修改
    感觉用触发器比较好;二、另外这种系统一般设置有月结功能,主要目的是什么?怎么实现?主要目的是: 更正期初(一个周期改一次),
       实现: 月结的时候,用期末去修改期初,表示一个周期的完成
      

  2.   

    参看:http://blog.csdn.net/fstao/archive/2008/02/12/2089163.aspx
      

  3.   

    重薪诚聘C++ 
    http://topic.csdn.net/u/20080227/14/8bce0844-bd15-42f0-9cda-a343d5d6601b.html