2011-09-13 216 views
1

嗨我试图计算订单的总和。 我得到了一个命令和Id和一些Orderlines。从订单线计算订单总和

Order 
ID  OrderDate CustomerName 


OrderLine 
OrderID ProductId Amount Price 

我想做一个select语句,在那里我得到以下输出。

ID,OrderDate,CustomerName,OrderTotal。

回答

2

您需要一个JOIN,GROUP BYSUM。类似于:

SELECT o.ID, 
     o.OrderDate, 
     o.CustomerName, 
     SUM(ol.Amount * ol.Price) AS OrderTotal 
FROM [Order] o 
     LEFT JOIN OrderLine ol /*If not all orders may have items */ 
     ON o.ID = ol.OrderID 
GROUP BY o.ID, 
      o.OrderDate, 
      o.CustomerName 
+1

由于这是集团通过,我在我的代码失踪。 – gulbaek

1

您的问题不完整。但我会尝试猜测剩余的缺失部分。

让我们假设你有两个表。一张桌子上有订单,我们将其称为tbl_orders,另一张包含订单的详细信息,并将其命名为tbl_details

这里是我会怎么做

select a.ID,a.OrderDate,a.CustomerName, sum(b.Amount * b.Price) OrderTotal 
from tbl_orders a, tbl_details b where b.orderId = a.ID 
group by a.ID,a.OrderDate,a.CustomerName