首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >订单和order_products tables.Should订单总价存储在订单表中,或根据产品数量和价格计算。

订单和order_products tables.Should订单总价存储在订单表中,或根据产品数量和价格计算。
EN

Stack Overflow用户
提问于 2020-11-02 23:44:44
回答 2查看 205关注 0票数 0

所以我有以下3张表:

代码语言:javascript
运行
复制
Table: Products
Columns: id, name, description, price, currency

Table: Orders
Columns: id, firstName, lastName, phoneNumber

Table: Order_Products
Columns: orderId, productId, quantity

现在我想弄清楚订单的总价在哪里,我有两个想法:

  1. Orders表中添加一个totalPrice列,该表将按顺序包含所有产品的price * quantity之和,或者:
  2. 将一个price列添加到Order_Products表中,该表将包含该特定产品的price * quantity,然后我必须获得该顺序的所有D11记录,以及它们的price列的总和。H 213G 214

我不太确定哪个选项更好,因此我在这里要求推荐。

EN

回答 2

Stack Overflow用户

发布于 2020-11-03 01:13:03

我建议您将订单总数存储在orders表中。

为什么?基本上,订单总额不一定与商品所有价格之和相同:

  • 价格可能会随时间变化。
  • 订单本身可能有折扣。

此外,该命令可能会有额外费用:

适用于整个order.

  • Taxes.

  • Delivery收费的
  • 折扣。

由于这些原因,我认为在下订单时将财务信息储存在订单上是比较安全的。

票数 1
EN

Stack Overflow用户

发布于 2020-11-02 23:48:52

我不建议把这个藏起来。这是派生的信息,可以随时动态计算。如果要经常进行计算,可以使用视图:

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64654855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档