如何在同一表格中显示总订单金额和每个订单金额?

时间:2020-05-25 01:29:38

标签: mysql sql select

我有4个表,分别为customercustomerOrderOrderitemsProduceitems

每个订单可能有多个项目,因此我已经计算了客户订购的每个项目的总项目成本,但是我不知道如何在同一表格中显示该订单的总订单金额

数据库表图片

Picture Of Database Table

代码

SELECT CustomerName,
       CustomerID AS Account_Number,
       OrderID,
       OrderDate,
       ItemName,
       ItemQty,
       ItemCost AS Price,
       UnitShippingCost*ItemQty AS Shipping_Cost,
       (ItemCost+UnitShippingCost)*ItemQty AS Item_total_cost
FROM CustomerOrder
INNER JOIN OrderItems USING (OrderID)
INNER JOIN ProduceItems USING (ItemID)
INNER JOIN Customer USING (CustomerID)
WHERE CustomerOrder.OrderID='OD00561';

如何在表中再添加一列名为total_order_amount的列,其余列保持不变?订单OD00561的总金额为3项费用的总和。

1 个答案:

答案 0 :(得分:0)

您需要窗口功能。 。 。

SELECT . . .
       SUM(UnitShippingCost*ItemQty) OVER () AS Shipping_Cost,
       SUM((ItemCost+UnitShippingCost)*ItemQty) OVER () AS Item_total_cost
FROM CustomerOrder co INNER JOIN
     OrderItems oi
     USING (OrderID) INNER JOIN
     ProduceItems pi
     USING (ItemID)
WHERE co.OrderID = 'OD00561';