Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как просуммировать значения по категориям в ssms  [new]
Kontox
Member

Откуда:
Сообщений: 146
SELECT
,[CustomerName]
,[ItemRelation]
,[SaleCount]
,[DocumentNum]
,[DocumentYear]
,[IsPromo]

FROM mytable

Поля
,[CustomerName
,[ItemRelation]
,[DocumentNum]
,[DocumentYear]

представляют собой стратовые категории
к примеру "магазин рога и копыта" - "111"-"37"-"2018год"
[SaleCount] число продаж
в чем сложность.
Для каждой такой страты есть данные по акции [IsPromo] (0-нет акции, 1 есть акция)
пример данных обрезанный, просто для примера

[ItemRelation] [SaleCount] IsPromo ,[DocumentNum] [DocumentYear]
11202 8,85947691 0 137 2018
11202 9,450108704 0 137 2018
11202 12,40326767 1 137 2018
11202 25,98779894 1 137 2018
11202 63,19760196 1 137 2018
11203 8,85947691 0 138 2018
11203 9,450108704 1 138 2018
11203 12,40326767 1 138 2018

мы видим что для страты
[ItemRelation] ,[DocumentNum] [DocumentYear]
11202 137 2018

3 единицы и два нулю по ispromo

по страте
[ItemRelation] ,[DocumentNum] [DocumentYear]
11203 138 2018
тут
2 единицы и один ноль.

Как мне написать запрос, который возвращает те "страты" в которых единицы по ispromo встречаются от 2 до 4 раз включительно?
12 июн 18, 14:28    [21485976]     Ответить | Цитировать Сообщить модератору
 Re: Как просуммировать значения по категориям в ssms  [new]
Kontox
Member

Откуда:
Сообщений: 146
прикрепил данные в экселе

К сообщению приложен файл (x.xlsx - 8Kb) cкачать
12 июн 18, 14:29    [21485978]     Ответить | Цитировать Сообщить модератору
 Re: Как просуммировать значения по категориям в ssms  [new]
aleks222
Member

Откуда:
Сообщений: 952
SELECT t.*
   FROM 
     ( select [ItemRelation], [DocumentNum], [DocumentYear] from mytable where [IsPromo] = 1 group by [ItemRelation], [DocumentNum], [DocumentYear] having count(*) between 2 and 4 ) as x
	 left outer join mytable as t on  x.ItemRelation] = t.[ItemRelation] and x.[DocumentNum] = t.[DocumentNum] and x.[DocumentYear] = t.[DocumentYear]
12 июн 18, 18:59    [21486559]     Ответить | Цитировать Сообщить модератору
 Re: Как просуммировать значения по категориям в ssms  [new]
Kontox
Member

Откуда:
Сообщений: 146
Спасибо, работает.
13 июн 18, 13:39    [21488234]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить