MS Access:显示带有列出的最新联系人的客户的单个记录

时间:2018-06-19 21:02:05

标签: sql ms-access grouping

我有一段时间内客户及其订单的列表,尽管我确信这是一个相对容易的查询,但我目前对此感到空白。老板的错,他已经感染了我的wannagohomealready bug。

该屏幕快照显示了按客户端分组时的记录列表,但是它是按代理和客户端分组的,而我试图按客户端分组并标识最新的代理(当多个代理为一个客户端提供服务时)。 / p>

查询设计视图

Query Design View

查询结果

Query results

我尝试了以下代码,但出现“不允许where子句中聚合”错误。

SELECT tbl_RW_AgentBilling.Customer, tbl_RW_AgentBilling.Agent 
FROM tbl_RW_AgentBilling 
Where tbl_RW_AgentBilling.[OrderDate]=max(tbl_RW_AgentBilling.[OrderDate])
GROUP BY tbl_RW_AgentBilling.Customer, tbl_RW_AgentBilling.Agent;

1 个答案:

答案 0 :(得分:0)

使用相关子查询根据每个客户的最大订购日期过滤掉所有未排在最后的行:

SELECT t.customer, t.agent as last_agent
FROM tbl_rw_agentbilling t
WHERE t.orderdate = (SELECT max(orderdate)
                     FROM tbl_rw_agentbilling t2
                     WHERE t.customer = t2.customer)
ORDER BY t.customer
相关问题