如果都是品牌型号同时为空的情况,则为空的数据单独计算
s elect c.仓库,c.名称,c.品牌,c.型号,c.上月结存,d.本月收进 from (s elect a.仓库,a.名称,a.品牌,a.型号,iif(b.月前出库 is null,a.月前入库,(a.月前入库 - b.月前出库)) as 上月结存 from (s elect 仓库,名称,品牌,型号,sum(金额) as 月前入库 from {入库表} where 日期 < #8/1/2022# group by 仓库,名称,品牌,型号) a left join (s elect 仓库,名称,品牌,型号,sum(金额) as 月前出库 from {出库表} where 日期 < #8/1/2022# group by 仓库,名称,品牌,型号) b on a.仓库 = b.仓库 And a.名称 = b.名称 And a.品牌 = b.品牌 And a.型号 = b.型号) c left join (s elect 仓库,名称,品牌,型号,sum(金额) As 本月收进 from {入库表} where 日期 >= #8/1/2022# and 日期 <= #8/31/2022# group by 仓库,名称,品牌,型号) d on c.仓库 = d.仓库 And c.名称 = d.名称 And c.品牌 = d.品牌 And c.型号 = d.型号
union
s elect c.仓库,c.名称,c.品牌,c.型号,c.上月结存,d.本月收进 from (s elect a.仓库,a.名称,a.品牌,a.型号,iif(b.月前出库 is null,a.月前入库,(a.月前入库 - b.月前出库)) as 上月结存 from (s elect 仓库,名称,品牌,型号,sum(金额) as 月前入库 from {入库表} where 日期 < #8/1/2022# group by 仓库,名称,品牌,型号) a left join (s elect 仓库,名称,品牌,型号,sum(金额) as 月前出库 from {出库表} where 日期 < #8/1/2022# group by 仓库,名称,品牌,型号) b on a.仓库 = b.仓库 And a.名称 = b.名称 And a.品牌 is null And a.型号 is null) c left join (s elect 仓库,名称,品牌,型号,sum(金额) As 本月收进 from {入库表} where 日期 >= #8/1/2022# and 日期 <= #8/31/2022# group by 仓库,名称,品牌,型号) d on c.仓库 = d.仓库 And c.名称 = d.名称