2017-10-05 129 views
-6

我想在MYSQL中的每个客户订单中生成总支付。 每个订单都有订单详细信息。表格样本会是这样的。 表顺序:从SQL中的多个列中生成支付

ID  Customer Name  
------- -------    
001  Jane 

表订单详细信息:

Order ID Product  Product Amount  Price (per product) 
------- -------  -------   ----- 
001  Pen   1     $20 
001  Book   2     $5 

因此,输出应该是这样的:

Order ID Customer Name  Total  
------- -------   ------- 
001  Jane    $30 
+3

提示: 'JOIN','GROUP BY'。 –

+7

没有代码的标签太多;在发布之前你有没有尝试过任何东西? –

+2

我们总是很乐意帮助和支持新的编码器,但是您需要首先帮助自己。 : - )***在[**做更多研究**之后](https://meta.stackoverflow.com/q/261592/1011527)如果您有问题**发布您尝试过的** **清楚说明什么不工作**并提供[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。阅读[如何问](http://stackoverflow.com/help/how-to-ask)一个很好的问题。请务必[参观](http://stackoverflow.com/tour)并阅读[this](https://meta.stackoverflow.com/q/347937/1011527)。 –

回答

1

尝试此查询:

select 
    OrderId, 
    CustomerName, 
    sum(ProductAmount*Price) as Total 
from 
    Order O 
    inner join OrderDetail OD on 
     O.Id = OD.Id 
group by 
    OrderID, 
    CustomerName