请教有关查询中空值替换问题,涉及了LEFT JION和GROUP BY的SUM。
表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)),都提示错误,请教解决方案。