【发布时间】:2017-03-01 20:43:01
【问题描述】:
我有两个表 ItemSold 和 ItemInventory,我正在尝试创建一个查询来检查 ItemSold SUM(项目的数量)是否与 ItemInventory 保持平衡。
ItemSold
sale_id | item_id | quantity | conversion |
-------- ------- --------- ----------
1099 1 1.00 1.00
1099 1 1.00 0.50
1099 2 1.00 1.00
我使用转换列来表示商品的零售/较小单位
ItemInventory
id | description | quantity
----- ------------ --------
1 Item1 100.00
2 Item2 100.00
下面是我创建的一个查询,用于检查是否有物品的总和大于 ItemInventory 上的数量。
SELECT ItemSold.item_id, ItemSold.quantity, ItemSold.conversion
FROM ItemSold
INNER JOIN ItemInventory
ON ItemSold.item_id = ItemInventory.id
WHERE Itemsold.sale_id = @saleid
GROUP BY ItemSold.item_id, ItemSold.quantity, ItemSold.conversion
HAVING SUM(ItemSold.quantity * ItemSold.conversion) > SUM(ItemInventory.quantity)
它有效,但它比较 ItemSold 上 EACH ROW 的数量,而不是 SUM(按 item_id 分组的数量)。
我的目标是不处理销售交易,除非有足够的库存,无论该商品的销售单位是什么。
【问题讨论】: