所以我有以下3张表:
Table: Products
Columns: id, name, description, price, currency
Table: Orders
Columns: id, firstName, lastName, phoneNumber
Table: Order_Products
Columns: orderId, productId, quantity
现在我想弄清楚订单的总价在哪里,我有两个想法:
Orders
表中添加一个totalPrice
列,该表将按顺序包含所有产品的price * quantity
之和,或者:price
列添加到Order_Products
表中,该表将包含该特定产品的price * quantity
,然后我必须获得该顺序的所有D11记录,以及它们的price列的总和。H 213G 214
我不太确定哪个选项更好,因此我在这里要求推荐。
发布于 2020-11-03 01:13:03
我建议您将订单总数存储在orders
表中。
为什么?基本上,订单总额不一定与商品所有价格之和相同:
此外,该命令可能会有额外费用:
适用于整个order.
由于这些原因,我认为在下订单时将财务信息储存在订单上是比较安全的。
发布于 2020-11-02 23:48:52
我不建议把这个藏起来。这是派生的信息,可以随时动态计算。如果要经常进行计算,可以使用视图:
create view orders_view as
select o.*, sum(p.price * op.quantity) total_price
from orders o
inner join order_products op on op.orderid = o.id
inner join products p on p.id = op.productid
group by o.id
https://stackoverflow.com/questions/64654855
复制相似问题