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

anhgbhbe  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(488)

我有四张table customer , customerOrder , Orderitems ,和 Produceitems .
每个订单可能有多个项目,因此我已经计算了客户订购的每个项目的总项目成本,但我不知道如何在同一个表中显示该订单的总订单金额。
数据库表图片:

代码:

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\u order\u amount的列,而该列的其余部分保持不变?订单od00561总金额将是3个项目成本的总和。

h9vpoimq

h9vpoimq1#

你需要窗口功能。

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';

相关问题