Php MySQL汇总关系数据库中的数字

Php MySQL汇总关系数据库中的数字,php,mysql,sql,database,Php,Mysql,Sql,Database,我正在制作一个web应用程序,让客户为任何东西订购物品。为此,我制作了一个MySQL数据库,其中包含以下表格: 客户 订单 订购项目 产品 customers表中列出了有关此人的所有信息,例如: 主键和自动递增(ID)的客户ID 名字(名字) 姓氏 电子邮件地址(电子邮件地址) 有关客户的信息(客户信息) 示例: 在订单表中列出了所有关于订单的具体信息,例如: 主键和自动递增(ID)的订单ID 哪个客户订购的,与customers表(customer\u id)中的id字段链接 订单

我正在制作一个web应用程序,让客户为任何东西订购物品。为此,我制作了一个MySQL数据库,其中包含以下表格:

  • 客户
  • 订单
  • 订购项目
  • 产品
customers
表中列出了有关此人的所有信息,例如:

  • 主键和自动递增(ID)的客户ID
  • 名字(名字)
  • 姓氏
  • 电子邮件地址(电子邮件地址)
  • 有关客户的信息(客户信息)
示例:

订单
表中列出了所有关于订单的具体信息,例如:

  • 主键和自动递增(ID)的订单ID
  • 哪个客户订购的,与
    customers
    表(customer\u id)中的
    id
    字段链接
  • 订单信息(订单信息)
  • 订单需要到达的位置(位置)
  • 创建订单时(已创建)
示例:

订单项目
表中,是每个客户订购的所有项目,这由上一个表中的
订单id
链接

  • ID,用于主键和自动递增,不用于任何关系(ID)
  • 订单ID,用于哪个产品对应哪个订单。这与
    orders
    表(order\u id)中的
    id
    字段链接
  • 产品ID,用于他们订购的产品,它与
    产品
    表中的ID字段链接。(产品编号)
  • 他们订购此产品的数量(数量)
示例:

产品
表中列出了有关产品的所有信息:

  • ID(主键和自动递增)与
    order\u items
    表(ID)中的
    product\u ID
    字段链接
  • 产品名称(名称)
  • 产品说明(说明)
  • 产品的价格(价格)
示例:

问题

Bob订购了
product\u id
2,乘以3。这是价格为2.50的牛肉三明治,我们必须乘以3,因为已经订购了3次。这是
7.50

Bob还订购了
product\u id
3,乘以5。这是鸡肉三明治,价格是3.00,我们必须乘以5,因为已经订了5次了。它在
15.00发布

现在我要总结一下。这是
15.00+7.50=22.50

问题

如何将
产品标识
产品标识
的实际价格联系起来?然后我可以乘以数量

然后用相同的
order\u id

对于第一批订单,我们得到了产品2(数量3)和产品3(数量5),这两个数量加起来应该是2.503+3.005=22.50 如何将产品id与产品id的实际价格联系起来?我可以将其乘以数量…然后将所有这些值与相同的订单id相加。

像这样:

SELECT OI.Order_ID, Sum(OI.Quantity * P.Price) Total_Price
FROM `order-items` OI
INNER JOIN Products P
 on OI.Products_Id = P.ID
GROUP BY OI.Order_ID
有关样本数据的预期输出:

ORDER_ID Total_price
1        22.50
这就是我询问示例输出的原因。我不确定您要返回哪些列,所以我只返回了每个订单的总和

这是怎么说的 为每个订单返回一行,显示订单ID和总价,总价是该订单所有行的(订购数量*价格)之和

这是通过查看order items表来完成的(在后面的tic中,因为我不确定mySQL-like的破折号(-)是否在名称中)。根据订购项目表和价格表之间的产品Id连接这些表。然后按订购项目对结果进行分组,允许总和将订单的所有行乘以该订单行上该项目的价格加在一起。

您要求,“ 如何将产品id与产品id的实际价格联系起来?我可以将其乘以数量…然后将所有这些值与相同的订单id相加。

像这样:

SELECT OI.Order_ID, Sum(OI.Quantity * P.Price) Total_Price
FROM `order-items` OI
INNER JOIN Products P
 on OI.Products_Id = P.ID
GROUP BY OI.Order_ID
有关样本数据的预期输出:

ORDER_ID Total_price
1        22.50
这就是我询问示例输出的原因。我不确定您要返回哪些列,所以我只返回了每个订单的总和

这是怎么说的 为每个订单返回一行,显示订单ID和总价,总价是该订单所有行的(订购数量*价格)之和

这是通过查看order items表来完成的(在后面的tic中,因为我不确定mySQL-like的破折号(-)是否在名称中)。根据订购项目表和价格表之间的产品Id连接这些表。然后按订购项目对结果进行分组,允许总和将订单的所有行乘以该订单行上该项目的价格加在一起。

您要求,“ 如何将产品id与产品id的实际价格联系起来?我可以将其乘以数量…然后将所有这些值与相同的订单id相加。

像这样:

SELECT OI.Order_ID, Sum(OI.Quantity * P.Price) Total_Price
FROM `order-items` OI
INNER JOIN Products P
 on OI.Products_Id = P.ID
GROUP BY OI.Order_ID
有关样本数据的预期输出:

ORDER_ID Total_price
1        22.50
这就是我询问示例输出的原因。我不确定您要返回哪些列,所以我只返回了每个订单的总和

这是怎么说的 为每个订单返回一行,显示订单ID和总价,总价是该订单所有行的(订购数量*价格)之和

这是通过查看order items表来实现的(在后面的tic中,因为我不确定mySQL-like的破折号(-)