SQL Server: получить и суммировать самые низкие значения - PullRequest
0 голосов
/ 13 сентября 2018

Я не могу понять оператор SQL для получения наименьшего on_hand по магазинам и SKU, а затем суммирую его.

Вот мой пример таблицы. Примечание sku и store - это composite key.

enter image description here

Результат, который я ищу: 16: (10 + 5 + 1)

Я использую SQL Server 2008.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Я бы сделал это с помощью подзапроса.Это дает ваш ответ из 16, что вы ищете:

    SELECT   SUM (min_by_store)
    FROM     (SELECT     Store, min(on_hand) AS min_by_store
                FROM     #Temp AS T
            GROUP BY     Store) AS MBS
0 голосов
/ 13 сентября 2018

Один метод использует коррелированный подзапрос:

select sum(on_hand)
from t
where t.sku = (select top (1) t2.sku
               from t t2
               where t2.store = t.store
               order by t2.on_hand
              );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...