powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как сортировать значения по категориям в SSMS
6 сообщений из 6, страница 1 из 1
Как сортировать значения по категориям в SSMS
    #39660421
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пишу запрос

SELECT Dt, CustomerName, ItemRelation, SaleCount,
DocumentNum, DocumentYear, IsPromo, CustomerType
FROM [dbo].[promo_data] where [CustomerType]='XY'
есть данные о запасе [IsPromo] (0-нет запаса, 1 является запасом), как я могу выбрать только те наблюдения XY CustomerType, которые имеют только одно значение 1 для категории запаса = 1

простой пример

[ItemRelation] [SaleCount] IsPromo ,[DocumentNum] [DocumentYear]
11203 8,85947691 0 138 2018
11203 9,450108704 0 138 2018
11203 12,40326767 1 138 2018
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 1 138 2018


потому что
11202 137 2018
уже имеет 2 единицы


я делаю таким способом
SELECT ItemRelation, DocumentNum, DocumentYear, IsPromo
FROM [dbo].[promo_data]
WHERE CustomerType = 'XY' AND IsPromo = 1
GROUP BY ItemRelation, DocumentNum, DocumentYear, IsPromo
HAVING COUNT(*) = 1;

но мне нужно чтобы переменная [SaleCount] была также возвращена, чтобы я её не группировал,
пусть даже дублирование какое будет ,не важно.
Как это сделать?
пока её вернуть только подставив в группирующую конструкцию
Но мне так не нужно.
...
Рейтинг: 0 / 0
Как сортировать значения по категориям в SSMS
    #39660423
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так нужно?
Код: sql
1.
2.
3.
4.
5.
SELECT ItemRelation, DocumentNum, DocumentYear, IsPromo, Max(SaleCount) as SaleCount 
FROM [dbo].[promo_data]
WHERE CustomerType = 'XY' AND IsPromo = 1
GROUP BY ItemRelation, DocumentNum, DocumentYear, IsPromo
HAVING COUNT(*) = 1
...
Рейтинг: 0 / 0
Как сортировать значения по категориям в SSMS
    #39660446
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, это подходит, а можно сделать так, чтобы нули ещё возвращались?
т.е. вот эти данные
[ItemRelation] [SaleCount] IsPromo ,[DocumentNum] [DocumentYear]
11203 8,85947691 0 138 2018
11203 9,450108704 0 138 2018
11203 12,40326767 1 138 2018
должны полностью вернуться.
не одна строчка, а три.
...
Рейтинг: 0 / 0
Как сортировать значения по категориям в SSMS
    #39660587
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT ItemRelation, SaleCount, IsPromo, DocumentNum, DocumentYear
  FROM [dbo].[promo_data] p
 WHERE CustomerType = 'XY' 
   AND p.ItemRelation in (SELECT ItemRelation 
                            FROM [dbo].[promo_data]
			   WHERE CustomerType = 'XY' 
                             AND IsPromo = 1
			   GROUP BY ItemRelation, DocumentNum, DocumentYear, IsPromo
			  HAVING COUNT(*) = 1)
...
Рейтинг: 0 / 0
Как сортировать значения по категориям в SSMS
    #39660588
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ. Алиасы расставь, а то забыл =/
...
Рейтинг: 0 / 0
Как сортировать значения по категориям в SSMS
    #39660950
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, сработало.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как сортировать значения по категориям в SSMS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]