我有以下查詢一個問題:MySQL的總和連接表和多行
SELECT sum(((ordered_items.price + ordered_items.vat) * ordered_items.qty) + orders.postage_price + orders.postage_vat) as total_price
FROM orders
JOIN ordered_items
ON orders.id_orders = ordered_items.order_id
GROUP BY orders.id_orders
的想法是帶回的訂單,包括運費的總價格。
- ordered_items - 包括訂購(因此可以有多個行)
- 訂單的所有物品 - 包括訂單的運費價格(會有永遠只能是每個訂單一行在這裏)
我遇到的問題是,如果訂單包含'ordered_items'中的多個項目,則上述總和會多次計入'訂單'中的郵資。
如何重寫此查詢以便郵資僅計算一次?
非常感謝您的任何幫助。
你是否從'orders'表中的PK進行分組?如果是這樣,只需將郵資移到「SUM()」之外即可。 – eggyal
我錯過了GROUP BY,但是隻是將郵資移到了SUM()作品之外。非常感謝您的幫助。 – markwilliamsweb