我有两个表,一个tblOrder和tblOrderDetail表。
tblOrderDetail包含以下行:
OrderDetailID OrderID Product Quantity UnitPrice Discount Total
1 1 ABC 10 $240.00 10 $2,160.00
2 2 CDF 100 $200.00 10 $18,000.00
3 3 GHI 200 $150.00 0 $30,000.00
4 1 XYZ 40 $100.00 5 $3,800.00
我希望sql查询获取tblOrder中的Subtotal列,它是来自tblOrderDetail的相关OrderID Total的总和,如下所示:
OrderID Sub Total
1 $5,960.00
2 $18,000.00
3 $30,000.00
我尝试这个SQL查询:
SELECT
OrderID
,(
SELECT
SUM(((tblOrderDetail.UnitPrice) - (tblOrderDetail.UnitPrice * (tblOrderDetail.Discount / 100))) * (tblOrderDetail.Quantity))
FROM
tblOrderDetail
WHERE tblOrderDetail.OrderID = tblOrder.OrderID
) AS [Sub Total]
FROM
tblOrder
但它给出了这个
OrderID Sub Total
1 $0.00
2 $0.00
3 $0.00
注意我希望动态Sub Total列不是tblOrderDetail表中的Total Column总和。
我希望有人能理解我在说什么,希望能帮助我实现这个目标!
答案 0 :(得分:0)
使用Group by Clause与SUM聚合函数
importSpecifier
根据您的问题,这是一个相关的查询
Select *, sum(Total) as totalforOrder from ordertbl group by OrderID;
这 tblOrder;
上工作正常答案 1 :(得分:0)
您可以使用分组依据来执行此操作
Select OrderID, sum(Total) as [Sub Total] from tblOrderDetail group by OrderID;