Я новичок в написании запросов MS SQL, и я пытаюсь отобразить только запись с самым высоким полем с именем RecordVersion. Ниже приводится запрос, который работает, но отображает все записи:Как отображать только результаты MAX по запросу
SELECT
PriceCalendars.PriceProgramID,
PriceCalendars.EffectiveDateTime,
PriceSchedules.Price,
PriceSchedules.PLU,
items.Descr,
PriceSchedules.LastUpdate,
PriceSchedules.LastUpdatedBy,
PriceSchedules.RecordVersion,
PriceSchedules.PriceScheduleUniqueID
FROM
PriceCalendars
INNER JOIN PriceSchedules ON PriceCalendars.PriceProgramID = PriceSchedules.PriceProgramID
INNER JOIN items ON PriceSchedules.PLU = items.PLU
WHERE
(PriceSchedules.PLU = 'SLS10100103')
AND (PriceCalendars.EffectiveDateTime = '2016-03-22')
Вот результаты запроса:
PriceProgramID EffectiveDateTime Price PLU Descr LastUpdate LastUpdatedBy RecordVersion PriceScheduleUniqueID
1 2016-03-22 00:00:00.000 35.00 SLS10100103 Architecture Adult from NP POS 2015-01-22 07:53:15.000 GX70,83 9 569
1 2016-03-22 00:00:00.000 32.00 SLS10100103 Architecture Adult from NP POS 2014-02-25 16:22:46.000 GX70,83 5 86180
Первая строка результатов имеет RecordVersion быть 9 и результаты второй линии составляет 5, Мне нужно только отображать более высокую запись, то, что вернуло RecordVersion = 9.
Каждый раз, когда я пытаюсь использовать команду MAX, я получаю ошибки или группу, и я пробовал каждый пример, который я мог найти в Интернете, но ничего похоже работа.
Использование MS SQL 2012. Спасибо, Кен
выглядит как дубликат ел. Я видел много из этого случая. http://stackoverflow.com/questions/28984670/how-to-get-latest-record-or-record-with-max-corresponding-date-of-all-distinct-v – FLICKER
Что делает два одинаковым, так что вам просто нужен один из них? PriceProgramID, PLU Descr, PriceScheduleUniqueID (или любая их комбинация)? – Ralph
Вы пытались использовать 'SELECT TOP 1' и' ORDER BY RecordVersion DESC'? Этого может быть достаточно для вашего случая использования, но я не уверен. –