Привет всем. У меня небольшая проблема с попыткой получить данные из таблицы. Это выбор, который я делаю:
SELECT
HOS.Area_Code,
HOS.Year,
HOS.OrderNumber,
MAX(HOS.Id) as 'Id_Order',
HOS.status,
MAX(HOS.date_status) as 'date_status',
HO.Rut,
HO.Name,
HO.Amount
FROM SDF_Historic_Order_Status as HOS inner join HeaderOrder as HO
ON
HOS.Area_Code = HO.Area_Code AND
HOS.Year = HO.Year AND
HOS.OrderNumber = HO.OrderNumber
WHERE
(HOS.Area_Code= 1) AND
(HOS.Year= 2017) AND
(HOS.OrderNumber= 7) AND
(HOS.date_status < CONVERT(date, DATEADD(day, -2, GETDATE())))
GROUP BY
HOS.Area_Code, HOS.Year, HOS.OrderNumber, HOS.status, HO.Rut, HO.Name, HO.Amount
Возвращает 3 строки:
Итак, что я делаю, так это получаю причину максимального идентификатора в соответствии с текущим статусом заказа. Поскольку вы можете видеть, что Max ID имеет статус 2, есть ли способ, которым я могу улучшить свой выбор, чтобы получить только эту строку?
Я не могу поставить Max Status, потому что он вернет статус 5 и текущий статус 2.