плохо знаком с SQL.В Access 2016. В таблице различного оборудования (EQUIP1, EQUIP2, EQUIP3) я хочу, чтобы в запросе были указаны даты последнего и второго до последнего обслуживания.
Многие из найденных мной исправлений не учитывают группировку поID (EQUIP # в моем случае)
Что у меня есть:
TABLE Maintenance
equipment Date
1 1/1/2019
1 1/2/2019
1 1/3/2019
2 2/1/2019
2 2/2/2019
2 2/3/2019
Что мне нужно:
QUERY LATESTDATES
equipment NewDate PreviousDate
1 1/3/2019 1/2/2019
2 2/3/2019 2/2/2019
РЕДАКТИРОВАТЬ: Спасибо!Немного разбирался в синтаксисе, но вот мое окончательное решение:
SELECT [a1].equipment, NewDate, Max([b].Date) as PreviousDate
FROM
(SELECT equipment,Max(Date) as NewDate
FROM Maintenance AS [A]
GROUP BY equipment) AS [a1]
INNER JOIN Maintenance AS [b]
ON [b].equipment= [a1].equipment AND [b].Date <> [a1].NewDate
GROUP BY [a1].equipment, [a1].NewDate
Желаемый результат