Если говорить кратко с текстом, у меня есть база данных, в которой мне нужно просто выбрать 10 лучших продуктов, с максимальной прибылью в 2008 году. (У меня есть образец базы данных)
У меня есть одна огромная проблема.
Вот неполный, но рабочий код:
SELECT
[AdventureWorksDW2012].[dbo].[FactInternetSales].ProductKey,
SUM([AdventureWorksDW2012].[dbo].[FactInternetSales].OrderQuantity) OrderQuantitySum
FROM
[AdventureWorksDW2012].[dbo].[FactInternetSales]
GROUP BY
ProductKey
ORDER BY
OrderQuantitySum DESC;
Вот вывод:
InдБ, у меня есть заказы и продукты, так что в основном может быть продукт с идентификатором 15, например, и он может иметь много заказов, например, 200-300.Я суммировал все заказы и сгруппировал одинаковые идентификаторы.
Теперь мне нужно ограничить все заказами, которые произошли только в 2008 году, я складываю еще одну таблицу и вот код:
SELECT
[AdventureWorksDW2012].[dbo].[FactInternetSales].ProductKey,
SUM([AdventureWorksDW2012].[dbo].[FactInternetSales].OrderQuantity) OrderQuantitySum,
[AdventureWorksDW2012].[dbo].[DimDate].CalendarYear
FROM
[AdventureWorksDW2012].[dbo].[FactInternetSales], [AdventureWorksDW2012].[dbo].[DimDate]
WHERE
CalendarYear = 2008
GROUP BY
ProductKey, CalendarYear
ORDER BY
OrderQuantitySum DESC;
И вот вывод:
Так что моя сумма заказов стала безумно огромной, и я не понимаю, почему ...
Мне просто нужно использовать заказы, которые произошли только в 2008 году, вместо того, чтобы уменьшить количество заказов, они невероятно увеличились.
Есть предложения?