Учитывая приведенные ниже примеры данных, мне нужен список идентификаторов, последняя запись которых отклонена. Таким образом, мне нужно увидеть идентификатор 2, потому что его последняя версия 6/4/2020, и это отклонено. Я не хочу видеть идентификатор 1, так как его последняя запись запрашивается.
CREATE TABLE #temp
(
id int,
mydate datetime,
status VARCHAR(20)
)
INSERT INTO #temp VALUES (1, '6/1/2020', 'Rejected')
INSERT INTO #temp VALUES (1, '6/2/2020', 'Requested')
INSERT INTO #temp VALUES (1, '6/3/2020', 'Rejected')
INSERT INTO #temp VALUES (1, '6/4/2020', 'Requested')
INSERT INTO #temp VALUES (2, '6/1/2020', 'Requested')
INSERT INTO #temp VALUES (2, '6/2/2020', 'Requested')
INSERT INTO #temp VALUES (2, '6/3/2020', 'Requested')
INSERT INTO #temp VALUES (2, '6/4/2020', 'Rejected')
SELECT * FROM #temp
SELECT id, MAX(mydate)
FROM #temp
WHERE status = 'Rejected'
GROUP BY id
Это моя попытка patheti c до сих пор
SELECT id, MAX(mydate)
FROM #temp
WHERE status = 'Rejected'
GROUP BY id
Но это только вернет последняя дата в каждой группе. Мне нужен список, где последняя запись была отклонена. Я ожидаю, что ответ будет смущающе простым, но у меня чертовски много времени с этим.
Спасибо
Карл