Мне нужно сделать отчет ssrs, который показывает лучшего и худшего клиента в зависимости от того, сколько они потратили. В моем отчете я хотел бы представить разрыв между клиентом Top 1 и Bottom в пределах одного графика. Моя проблема в том, что для меня невозможно получить эти значения в одном наборе данных/запроса. Это мои результаты запроса (см. Код ниже). Я хотел бы, с возможно объединением все или что-то, получить тот же результат только от одного запроса. Или существует более простой способ, например, Visual Studio для представления этих значений. Вероятнее всего, могут быть N-верхние, нижние N-фильтры? Если да, пожалуйста, покажите мне способ или «лучшую практику», потому что я еще не понял этого. спасибо.Верх и низ в том же запросе?
Код:
SELECT DISTINCT TOP 1
dimcustomer.FirstName ,
SUM(FactInternetSales.OrderQuantity * UnitPrice)
FROM DimCustomer
INNER JOIN FactInternetSales ON FactInternetSales.CustomerKey = DimCustomer.CustomerKey
GROUP BY FirstName
ORDER BY SUM(FactInternetSales.OrderQuantity * UnitPrice) DESC
SELECT DISTINCT TOP 1
dimcustomer.FirstName ,
SUM(FactInternetSales.SalesAmount)
FROM DimCustomer
INNER JOIN FactInternetSales ON FactInternetSales.CustomerKey = DimCustomer.CustomerKey
GROUP BY FirstName
ORDER BY SUM(FactInternetSales.SalesAmount) DESC
Два набора результатов:
FirstName | SalesAmount
Morgan 145044,5816
------------------------
FirstName | SalesAmount
Dave 3.99
Почему UNION не работает на вас? – cha
Какая версия SQL Server? – jpw
SQL Server 2014 – Blixter