У меня есть Product Table & priceDeatil table.
Prouct Table
ProductCode BusinessUnit
10001 ORB
10002 ORB
StockRecord Table
ProductCode Name StcokQuantity
10001 SUnSilk 1000
10002 Pen 500
priceDeatil
ProductCode BusinessUnit price DateFrom DateTo
10001 ORB 12.00 12-08-2011 31-09-2015
10001 ORB 21.00 01.08-2011 15-09-2011
10002 ORB 54.00 21.08-2011 15-09-2011
Я хочу получить запись таблицы продукта, таблицу StockRecords и цену для этого продукта последняя цена
Здесь productCode 10001 содержит 2 записикогда я запускаю запрос, он возвращает 2 записи. Я хочу получить только одну запись.
SELECT WMProduct.BusinessUnit, WMProduct.ProductCode, StockRecord.Name, WMPriceDetail.Price
FROM WMProduct INNER JOIN StockRecord
ON WMProduct.ProductCode = StockRecord.ProductCode
INNER JOIN WMPriceDetail
WMPriceDetail ON WMProduct.BusinessUnit = WMPriceDetail.BusinessUnit AND WMPriceDetail.ProductCode = WMProduct.ProductCode
WHERE (WMPriceDetail.DateFrom < GETDATE()) AND (WMPriceDetail.DateTo > GETDATE() OR
WMPriceDetail.DateTo = NULL)
Этот запрос возвращает
BusinessUnit ProductCode Name Price
ORB 10001 SunSilk 12.00
ORB 10001 SunSilk 21.00
Но мне нужны только одна запись .... BusinessUnit ProductCodeНазвание Цена ORB 10001 SunSilk 21,00 ORB 10002 Pen 54.00
Из этого запроса я не могу поставить TOP 1
, потому что есть еще объединение таблиц .. присоединиться
Если цена не определена вТаблица с подробной информацией о ценах, которые не должны отображаться в списке.
Пожалуйста, помогите мне ....
Заранее спасибо