我有4个表,分别为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_order_amount的列,其余列保持不变?订单OD00561的总金额为3项费用的总和。
答案 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';