У меня есть две таблицы (в базе данных SQL Server):
TblOrders
OrderID (PK)
(еще несколько полей)
TblEvents
EventID (PK)
OrderID (FK) (связан с OrderID TblOrders)
EventDate
Статус
Каждыйсобытие в TblEvents принадлежит заказу в TblOrders, и каждое событие имеет дату и «статус» (числовой код).У ордера может быть несколько событий (хотя бы одно).
Мне нужен запрос SQL, который находит для каждого OrderID в TblOrders статус события latest среди всех его событий.Например:
Входные таблицы:
TblOrders
=========
OrderID
1
2
3
TblEvents
=========
EventID OrderID EventDate Status
1 1 01/02/2011 4
2 1 02/02/2011 2
3 2 03/02/2011 2
4 3 03/02/2011 3
5 2 01/02/2011 1
Результат запроса:
OrderID Status
1 2
2 2
3 3
(OrderID 2 имеет статус 2, поскольку имеет два события: 3 и 5и последним из них является Событие 3 со статусом 2.)
Надеюсь, я четко объяснил.Я пытался написать запрос в течение долгого времени, но не смог найти решение, поэтому любая помощь или подсказка будут приветствоваться.