MS Access查询计算字段

时间:2016-12-13 16:45:38

标签: mysql ms-access ms-query

  • 我有一张桌子StockMovements,记录了我的所有动作 产品。它有一个名为“Status”的字段,可以有 价值已售出或已购买,数量和产品(除了 现在不重要了。)
  • 我查询了所有状态为“已购买”的产品 并取数量并命名为购买产品(来自 表StockMovements)。我只是把数量加起来得到了 购买每种产品的数量(命名为已购买的字段)。
  • 我做了另一个查询,只是与已售出状态一样。
  • 我用名称Stock创建了一个新查询。它建在桌子上 我上面提到的产品和2个查询。需要prodict_ID 和产品名称来自产品表,购买的字段来自 第一个查询和第二个查询中的Sold字段然后是 最终字段没有连接到上述任何一个但是计算。命名为 AvailableQuantity并在其下添加表达式构建器 = [已购买] - [已售出]。
  • 现在,当我运行查询时,它工作正常,除了一件事。当我有 我没有卖给的特定数量的购买产品 任何人(甚至不是1件)它都不想出现在查询中。
  • 我希望产品在查询中显示并且可用 数量是购买数量。所以不知何故跳过Sold值 如果是0,只需将购买数量写入该字段。

2 个答案:

答案 0 :(得分:0)

如果您没有卖出的数量,您的金额实际上会变为已购买 - 无效,这将导致无答案。

你应该通过使用[已购买] - (Nz([Sold],0))来允许空值,这将迫使零进入计算。

答案 1 :(得分:0)

我进入SQL视图并将INNER JOIN更改为RIGHT JOIN,它完成了这项工作。

SELECT tblProduct.Product_ID, tblProduct.ProductName, Nz([Purchased],0) AS
PurchasedQuantity, Nz([Sold],0) AS SoldQuantity, [PurchasedQuantity]-(Nz([SoldQuantity],0)) 
AS [Available] FROM qrySoldProducts RIGHT JOIN (qryPurchasedProducts RIGHT JOIN 
tblProduct ON qryPurchasedProducts.Product_ID = tblProduct.Product_ID) ON 
qrySoldProducts.Product_ID = tblProduct.Product_ID;

相关问题