2つのテーブルItemSoldとItemInventoryがあり、ItemSold SUM(アイテムの数量)がItemInventoryと釣り合っているかどうかを確認するクエリを作成しようとしています。2つのテーブルを照合するSQL
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)
これは機能しますが、SUM(item_idによるquantityグループ)ではなく、ItemSoldのEACH ROWの量を比較します。
私の目標は、商品の販売単位に関係なく在庫が十分でない限り、販売取引を処理しないことです。
あなたのitem_idだけでt2の句が、グループ内の3列を使用していました。私はこれがうまくいかないと思う。あなたは合計を忘れていますか? – Ming
@Ming私は 'SUM()'を忘れてしまいました。 –
私が必要としていたことをありがとう。 – jntbox