У меня есть таблица с историей цен на товары (ProductCostHistory). Столбцы: ProductID (PK, FK), StartDate (PK), EndDate, StandardCost, ModifiedDate.
Вот как выглядит таблица:
ProductID StartDate EndDate StandardCost ModifiedDate
707 2011-05-31 2012-05-29 12,0278 2012-05-29
707 2012-05-30 2013-05-29 13,8782 2013-05-29
707 2013-05-30 NULL 13,0863 2013-05-16
708 2011-05-31 2012-05-29 12,0278 2012-05-29
708 2012-05-30 2013-05-29 13,8782 2013-05-29
708 2013-05-30 NULL 13,0863 2013-05-16
Для каждого продукта, который я хочу просмотреть: Текущая цена, самая высокая и самая низкая историческая цена.
Это мой код:
USE AdventureWorks2014
GO
SELECT Distinct ProductCostHistory.ProductID, ProductCostHistory.StandardCost, MAX(ProductCostHistory.StandardCost) AS HighestPrice, MIN(ProductCostHistory.StandardCost) AS LowestPrice FROM Production.ProductCostHistory
GROUP BY ProductID, StandardCost
Order by ProductID
Результат выглядит так:
ProductID StandardCost HighestPrice LowestPrice
707 12,0278 12,0278 12,0278
707 13,0863 13,0863 13,0863
707 13,8782 13,8782 13,8782
708 12,0278 12,0278 12,0278
708 13,0863 13,0863 13,0863
708 13,8782 13,8782 13,8782
Но я хочу больше так (пример):
PRoductID StandardCost HighestPrice LowestPrice
707 13,0863 13,8787 12,0278
708 12,0278 13,8782 12,0278
Спасибо
productid
707 вы выбираете среднюю строку, а для 708 вы выбираете первую строку (из 708) - person Simon   schedule 31.10.20172012-05-29
? - person Parfait   schedule 31.10.2017