mysql - 从三个表中检索列
问题描述
我想使用三个不同表中的列,并使用它们来计算每个客户曾经花费了多少。
tblCustomer(客户 ID)
tblOrder(CustomerID, ProductID, Amount)
tblProduct(ProductID, Price)
所以我想过滤掉客户的订单,检查他们订购的产品和数量,检查价格并将其乘以他们订购的数量,然后对每个客户都这样做
预期结果:
客户ID | 总花费
1|20
2|130
解决方案
这取决于表之间的关系。以下假设价格表中每种产品只有一个价格。客户表被排除在外,因为它是不必要的,但可以使用 customerID 再次连接
SELECT tblOrder.CustomerID,
SUM(tblOrder.Amount*tblProduct.Price) AS 'TotalSpent'
FROM tblOrder JOIN tblProduct ON tblProduct.ProductID = tblOrder.ProductID
GROUP BY tblOrder.CustomerID
推荐阅读
- multithreading - 将一个线程的返回值传递给另一个线程
- mysql - 将图像转换为 nvarchar(max)
- android - 是否可以获得当前正在播放的歌曲信息?
- cmake - 有没有办法用 add_custom_target 将 add_custom_command 链接到另一个目录中定义的目标?
- ajax - 发送文件到 MVC 控制器
- c# - 如何隐藏主页/默认选项卡(TabControl)上的关闭按钮
- python - Python html格式全部选择表格行
- reactjs - 由于“导入类型”导致 testcafe 编译失败 - 需要更新到 Typescript 3.8 版
- javascript - 在 Chrome 中处理夏威夷键盘的 Unicode 转义序列
- java - 声明一个单独的变量然后引用它是否比设置对新变量的引用花费更多的空间?