select b.日期,goodsid,sum(数量)
from (select goodsid,数量,日期 from 月末库存表
union all select goodsid,数量,日期 from 入库表
union all select goodsid,数量,日期 from 出库表
) as a , 日期辅助表 as b
where a.日期<=b.日期
group by b.日期,goodsid ------解决方案-------------------- 月末库存表
-------------
商品名称 商品数量
a 10
b 5
c 6
入库表
----------------
商品名称 商品数量 商品日期
a 10 20120102
b 4 20120103
c 30 20120104
d 7 20120102
出库表
---------------
商品名称 商品数量 商品日期