注册 登录
编程论坛 Excel/VBA论坛

请教有关查询中空值替换问题,涉及了LEFT JION和GROUP BY的SUM。

rhloo 发布于 2020-05-22 10:14, 1527 次点击
表1:订单
-----------------------------------
ID    订单号    物料号    订单数
1    CD01    WL01    1000
2    CD01    WL02    800
3    CD02    WL01    900
-----------------------------------

表2:操作
-----------------------------------
ID    单据号    物料号    操作数量
1    CD01    WL01    500
2    CK01    WL01    -400
3    CD01    WL01    400
-----------------------------------

需要查询订单的执行情况
代码:"Select 订单.ID, 订单.订单号, 订单.物料号, 订单.订单数, Sum(操作.操作数量) As 收货数, 订单.订单数 - Sum(操作.操作数量) As 剩余数 " & _
      "From 订单 LEFT JOIN 操作 ON 订单.订单号 = 操作.单据号 And 订单.物料号 = 操作.物料号 " & _
      "Group By 订单.ID, 订单.订单号, 订单资料.物料号, 订单.订单数 " & _
      "Order By 订单.订单号, 订单.物料号"
结果:
-----------------------------------
ID    订单号    物料号    订单数    收货数    剩余数
1    CD01    WL01    1000    900    100
2    CD01    WL02    800    Null    Null
3    CD02    WL01    900    Null    Null
-----------------------------------
期望结果:
-----------------------------------
ID    订单号    物料号    订单数    收货数    剩余数
1    CD01    WL01    1000    900    100
2    CD01    WL02    800    0    800
3    CD02    WL01    900    0    900
-----------------------------------
我把上面代码中的 Sum(操作.操作数量) 替换为 Sum(IsNull(操作.操作数量, 0))、Sum(IfNull(操作.操作数量, 0)) 或 Sum(Coalesce(操作.操作数量, 0)),都提示错误,请教解决方案。


1 回复
#2
rhloo2020-05-22 10:34
新手上路,不小心发帖重复,请回复另一个有积分的吧!
1