首页 > 解决方案 > 从三个表中检索列

问题描述

我想使用三个不同表中的列,并使用它们来计算每个客户曾经花费了多少。

tblCustomer(客户 ID)

tblOrder(CustomerID, ProductID, Amount)

tblProduct(ProductID, Price)

所以我想过滤掉客户的订单,检查他们订购的产品和数量,检查价格并将其乘以他们订购的数量,然后对每个客户都这样做

预期结果:

客户ID | 总花费

1|20

2|130

标签: mysqlsql

解决方案


这取决于表之间的关系。以下假设价格表中每种产品只有一个价格。客户表被排除在外,因为它是不必要的,但可以使用 customerID 再次连接

SELECT tblOrder.CustomerID,
SUM(tblOrder.Amount*tblProduct.Price) AS 'TotalSpent'
FROM tblOrder JOIN tblProduct ON tblProduct.ProductID = tblOrder.ProductID
GROUP BY tblOrder.CustomerID

推荐阅读