加好友 发短信
等级:童狐
帖子:298
积分:4225
威望:0
精华:0
注册:2009/11/4 16:30:00
|
[求助]表join时on里边字段部份为null的情况 Post By:2022/8/27 11:43:00 [显示全部帖子]
现有入库表 出库表, 想根据两表用SQL语句生成盘存表(仓库 名称 品牌 型号 上月结存 本月收进 本月发出 本月结存)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.型号这里无论入库表和出库表,仓库和名称两字段都不为空. 当字段"品牌"或 "型号"中部分为空时,"上月结存"能得到正确结果,"本月收进"则无结果. 当字段"品牌"或 "型号"都不为空时,"上月结存"和"本月收进"都能得到正确结果. 请问某名称商品的品牌或型号允许为空时,如何用SQL语句正确生成盘存表?
|
|