--建立测试环境
Create Table b1
(ID Int,
 product Nvarchar(10))Create Table b2           
(id Int,
 [month] Int,
 salenumber Int)
--插入数据
Insert b1 Values(1,      N'笔')
Insert b1 Values(2,      N'纸')Insert b2 Values(1,      1,         2)
Insert b2 Values(2,      1,         3)
Insert b2 Values(1,      1,         2)
Insert b2 Values(1,      2,         3)
Insert b2 Values(2,      2,         4)
Insert b2 Values(2,      2,         1)
Insert b2 Values(1,      3,         2)
Insert b2 Values(2,      3,         4)
--测试
Declare @month Int
Set @month=3
Select 
A.product,
B.[month],
SUM(B.salenumber) As sale,
(Select SUM(salenumber) from b2 Where ID=B.ID And [month]<=B.[month]) As tatolsalenumber
from b1 A
Inner Join b2 B
On A.id=B.id
Where B.[month]=@month
Group By A.product,B.id,B.[month]
Order By A.product,B.id,B.[month]
--删除测试环境
Drop Table b1,b2
--结果
/*
product month sale tatolsalenumber
笔 3 2 9
纸 3 4 12
*/