select
a.产品,
数量=(isnull(a.数量,0)-isnull(b.数量,0))
from
(select 产品,数量=sum(数量) from 入库表 where 入库日期<='日期' group by 产品) a
left join
(select 产品,数量=sum(数量) from 出库表 where 出库日期<='日期' group by 产品) b
on
a.产品 = b.产品
a.产品,
数量=(isnull(a.数量,0)-isnull(b.数量,0))
from
(select 产品,数量=sum(数量) from 入库表 where 入库日期<='日期' group by 产品) a
left join
(select 产品,数量=sum(数量) from 出库表 where 出库日期<='日期' group by 产品) b
on
a.产品 = b.产品
from
(
select 日期,sum(case 类型 when '入库' then 入库量
when '出库' then -出库量 end)
from 库存表group by 日期
) t
where 日期='2005-08-18'