У меня есть проблемы в запросе:
priceDeatil
ProductCode BusinessUnit price DateFrom DateTo
10001 ORB 12.00 12-08-2011 31-09-2015
10001 ORB 21.00 01.08-2011 15-11-2011
10002 ORB 31.00 01.04-2011 15-08-2012
10003 ORB 42.00 01.05-2011 15-08-2012
Мой запрос:
SELECT BusinessUnit, ProductCode, DateFrom, DateTo, Price
FROM WMPriceDetail
WHERE (DateFrom < 'Sep 01 2011') AND (DateTo > 'Sep 01 2011' OR DateTo = '')
ORDER BY ProductCode
Это возвращение
priceDeatil
ProductCode BusinessUnit price DateFrom DateTo
10001 ORB 12.00 12-08-2011 31-09-2015
10001 ORB 21.00 01.08-2011 15-11-2011
10002 ORB 31.00 01.04-2011 15-08-2012
10003 ORB 42.00 01.05-2011 15-08-2012
Но здесь productCode 10001
возвращает две записи, на этот раз я хочу получить максимальную дату, т.е. 12-08-2011
.
Итак, желаемый результат должен быть таким:
priceDeatil
ProductCode BusinessUnit price DateFrom DateTo
10001 ORB 12.00 12-08-2011 31-09-2015
10002 ORB 31.00 01.04-2011 15-08-2012
10003 ORB 42.00 01.05-2011 15-08-2012
Пожалуйста, помогите мне ... Как написать запрос для этой ситуации?
Заранее спасибо