【发布时间】:2015-04-27 16:40:48
【问题描述】:
目前,我的代码如下:
SELECT Volunteer.VolunteerID, Volunteer.LastName, Volunteer.FirstName, Observations.VolunteerID, Roost.RoostID, Roost.UTME, Roost.UTMN, Roost.DecimalDegrees, Observations.Date, Location.LocationName, Location.Address, Town.Town
FROM (((Volunteer INNER JOIN Observations ON Volunteer.[VolunteerID]= Observations.[VolunteeriD])
LEFT JOIN Roost ON Roost.[RoostID]= Observations.[RoostID])
LEFT JOIN Location ON Location.[LocationID]= Roost.[LocationID])
LEFT JOIN Town ON Location.[TownID]= Town.[TownID]
ORDER BY Volunteer.LastName, Volunteer.FirstName;
目前我的表格的一部分如下所示:
Observations.VolunteerID | Observations.LocationID | Date
Bob | Main St | 2015-01-01
Bob | Main St | 2015-02-02
Sally | Fox St | 2015-02-02
Dave | Long St | 2015-02-02
Dave | Taylor St | 2015-02-05
Lindsay | New St | 2015-02-01
Lindsay | New St | 2015-02-08
Lindsay | Ray St | 2015-02-10
Lindsay | Main St | 2015-02-25
Lindsay | Taylor St | 2015-02-31
但是,我想添加一个由 VolunteerID 和 LocationID 分组的 GROUP BY 语句(我认为),以便获得以下输出。我想知道志愿者去过的每个地点,如果他们多次访问同一个地点,我想查看最近的日期。我如何将它合并到我的原始代码中?
Observations.VolunteerID | Observations.LocationID | Date
Bob | Main St | 2015-02-02
Sally | Fox St | 2015-02-02
Dave | Long St | 2015-02-02
Dave | Taylor St | 2015-02-05
Lindsay | New St | 2015-02-08
Lindsay | Ray St | 2015-02-10
Lindsay | Main St | 2015-02-25
Lindsay | Taylor St | 2015-02-31
更新了代码,但仍然出现语法错误(查询表达式“Volunteer.FirstName GROUP BY Observations.VolunteerID”中缺少运算符。
SELECT Volunteer.VolunteerID, Volunteer.LastName, Volunteer.FirstName, Observations.VolunteerID, Roost.RoostID, Roost.UTME, Roost.UTMN, Roost.DecimalDegrees, Max([Observations.Date]), Location.LocationName, Location.Address, Town.Town
FROM (((Volunteer INNER JOIN Observations ON Volunteer.[VolunteerID]= Observations.[VolunteeriD])
LEFT JOIN Roost ON Roost.[RoostID]= Observations.[RoostID])
LEFT JOIN Location ON Location.[LocationID]= Roost.[LocationID])
LEFT JOIN Town ON Location.[TownID]= Town.[TownID]
ORDER BY Volunteer.LastName, Volunteer.FirstName
GROUP BY Observations.VolunteerID, Observations.LocationID;
【问题讨论】:
-
您更新的查询错误。再看我的回答。您必须聚合不属于
GROUP BY子句的每一列。 -
将
ORDER BY子句放在GROUP BY之后。我怀疑这将解决您当前的错误。然后,由于@ConsiderMe 描述的问题,您将面临一个不同的错误。