【问题标题】:Retrieve columns from three tables从三个表中检索列
【发布时间】:2021-09-24 01:46:08
【问题描述】:

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

tblCustomer(CustomerID)

tblOrder(CustomerID, ProductID, Amount)

tblProduct(ProductID, Price)

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

预期结果:

客户 ID |总花费

1|20

2|130

【问题讨论】:

  • 样本数据——以及期望的结果——真的很有帮助。
  • SELECT CustomerID, SUM(Amount*Price) FROM tblOrder INNER JOIN tblProduct On tblProduct.ProductID = tblOrder.ProductID GROUP BY CustomerID

标签: mysql sql


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 2014-11-18
    • 1970-01-01
    相关资源
    最近更新 更多