ник: Stanislav
В твоем примере все верно. А можно и так:
SELECT Status.Dogovor_Id, Max(Status.DataStatusChanged) AS MaxOfDataStatusChanged, Max(Status.Status_Id) AS MaxOfStatus_Id
FROM Status
GROUP BY Status.Dogovor_Id;
|
Здесь порядок следования полей Max(Status.DataStatusChanged) AS MaxOfDataStatusChanged, Max(Status.Status_Id) AS MaxOfStatus_Id определяет порядок сортировки. Т.е. сначала он отберет Max(Status.DataStatusChanged) AS MaxOfDataStatusChanged, а потом среди них Max(Status.Status_Id) AS MaxOfStatus_Id
В твоем примере ты добился того же самого, двумя последовательными запросами.
Оба способа приемлемы. Просто если тебе первый промежуточный запрос, отбирающий договоры по макс. дате, нигде больше не нужен, то проще сделать одним запросом.