【问题标题】:Select highest total amount in different tables (Access)在不同的表格中选择最高的总金额(访问)
【发布时间】:2010-02-12 20:45:11
【问题描述】:

我有 2 个表格:“sales”和“services”。两个表都有以下字段:customeramount

我需要在两个表中检索日期之间总金额(所有金额之和)最高的客户。

例子:

销售

玛丽 | 100 美元

约翰 | $200

玛丽 | $200

服务

玛丽 | $40

约翰 | $300

如果我们将我们获得的每个客户的所有金额相加:

玛丽 | $340

约翰 | 500 美元

那么总金额最高的客户是:John

但是如何使用 Access 查询来做到这一点?

提前感谢您的帮助。

【问题讨论】:

  • 听起来你有一个架构错误,对我来说,服务是一种销售,所以两者应该在同一个表中。每当您有两个具有相同列的表时,这应该是一个危险信号,表明您可能将一个实体存储在两个不同的表中。
  • 这只是一个基本示例,可以更好地解释我的疑问。但实际情况有些不同。除了总计和客户之外,这两个表都有 30 个不同的字段。

标签: ms-access sum max


【解决方案1】:

我认为联合查询最合适:

SELECT Top 1 Customer, Sum(Amount) As Total FROM
(SELECT Customer, Amount, Date FROM Sales
UNION ALL
SELECT Customer, Amount, Date FROM Services)
WHERE Date Between Date() AND Date()-30
GROUP BY Customer
ORDER BY Sum(Amount) DESC

【讨论】:

  • 首先,我试过这个查询并且运行良好!! :-) 非常感谢您的回复(Remou 和 Rossfabricant)问候
猜你喜欢
  • 2020-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-12
  • 2019-12-27
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多