我在tblOrders中有很多订单,而且在tblDeliveries中有一些交货。
SELECT tblOrders.SkuBestelId, Sum(tblDeliveries.delivered) AS TotalDelivered
FROM tblOrders
INNER JOIN tblDeliveries ON tblOrders.SkuBestelId = tblDeliveries.SkuBestelId
GROUP BY tblOrders .SkuBestelId;
当然,这给了我很多带有NULL值的“TotalDelivered”字段。 如果我使用任何类型的总和,Access将返回NULL值,我需要得到一个零。我想创建一个这样的字段:
GrandTotal: Nz([TotalDelivered], 0)
但它不起作用:语法错误不正确。
我也尝试将Sum()函数直接放在Nz()函数中,但是也没有这样做。
答案 0 :(得分:4)
首先,如果您要使用上面指定的查询,则不会返回空值,因为您使用 INNER JOIN ,除非实际传递的字段包含空值。
所以,假设您打算使用 LEFT JOIN ,您可以尝试
SELECT tblOrders.SkuBestelId, Sum(NZ([delivered],0)) AS TotalDelivered
FROM tblOrders LEFT JOIN
tblDeliveries ON tblOrders.SkuBestelId = tblDeliveries.SkuBestelId
GROUP BY tblOrders.SkuBestelId;