declare @数据表TABLE1 table([编号] nvarchar(2),[数量] int,[日期] Datetime)
Insert @数据表TABLE1
select N'01',3000,'2007/12/23' union all
select N'01',1200,'2008/03/12' union all
select N'01',4500,'2008/05/06'
--Select * from @数据表TABLE1
--select sum(isnull([数量],0)) as qty,convert(nvarchar(6),[日期],112) from  @数据表TABLE1  group by convert(nvarchar(6),[日期],112)declare @year int
select @year=2008select m.date,
(select sum(isnull([数量],0)) as qty from  @数据表TABLE1 where convert(nvarchar(6),[日期],112) < m.date) as sumqty
from (
select convert(nvarchar(6),dateadd(month, colid-1, ltrim(@year)+'0101'),112) as date
    from syscolumns where id=object_id('syscolumns') and colid<=month(dateadd(year,1,ltrim(@year)+'0101')-1)
) m 
/*
date   sumqty
------ -----------
200801 3000
200802 3000
200803 3000
200804 4200
200805 4200
200806 8700
200807 8700
200808 8700
200809 8700
200810 8700
200811 8700
200812 8700(12 row(s) affected)
*/