我使用此代码对特定日期的订单求和:
select od.OrderID, (od.unitprice * quantity) - ((od.unitprice * od.quantity) * discount) + freight as OrderSum
from orders, [Order Details] as od
where orderdate = '1996-12-12' and od.orderid = orders.orderid
上面的代码给出了以下输出表:
OrderID | OrderSum
10380 370,37
10380 506,63
10381 119,99
所需的最终结果和输出:我想对上面创建的列“OrderSum”中的值求和,以便将输出放在名为“Total ordersum”的列中。换句话说,我想要的所需输出表:
Total ordersum
996,99
如何在上面的代码中添加子查询来解决这个问题?如果有人可以提供代码示例,我将非常感激。
答案 0 :(得分:3)
只需进行聚合查询:
select sum(od.unitprice * quantity) - sum((od.unitprice * od.quantity) * discount) + sum(freight) as Total_OrderSum
from orders o join
[Order Details] as od
on od.orderid = o.orderid
where orderdate = '1996-12-12';
注意:从不在FROM
子句中使用逗号。 始终对JOIN
子句中的条件使用显式ON
语法。