我的数据库如下所示
表名:订单明细
id oid pid pquantity pprice
--------------------------------------
1 1 5 2 10
2 1 6 3 5
3 1 7 1 20
5 2 8 1 5
6 2 9 1 5
7 3 5 5 10
表名:订单
id odiscount oshipping
----------------------------
1 5 5
2 0 5
3 0 5
我想得到每个订单的发票金额。 (pquantity*pprice)-odiscount+oshipping
. 棘手的部分是,每个订单的订单细节中可以有多个条目。所以我不知道该怎么处理。最终结果应该是
oid total
1 55
2 15
3 55
我使用下面的sql尝试了这一点,但是我不知道如何考虑订单细节中的多行。
SELECT SUM((orderdetails.pprice*orderdetails.pquantity) - orders.odiscount + orders.oshipping) FROM orders LEFT JOIN orderdetails ON orderdetails.oid = orders.id GROUP BY orders.id
2条答案
按热度按时间vx6bjr1n1#
我相信您甚至不用使用子查询也可以做到这一点:
此处演示:
sqlfiddle公司
epggiuax2#
你可以把
order_details
先查询,然后在orders
表格: