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

Откуда:
Сообщений: 1
Имеется таблица:
CompanyName (nvarchar) - название компании
month (int) - порядковый номер месяца
traffic_count (int) - кол-во траффика

CompanyName+month - уникальное значение

Как написать запрос выводящий только тех CompanyName, в которых траффик больше 1000 два месяца подряд?
20 май 11, 15:38    [10685251]     Ответить | Цитировать Сообщить модератору
 Re: select запрос, помогите плиз!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Group by + having
20 май 11, 15:41    [10685279]     Ответить | Цитировать Сообщить модератору
 Re: select запрос, помогите плиз!  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Asp2286,

уже безлимитка везде , не жадничайте:)
20 май 11, 15:43    [10685306]     Ответить | Цитировать Сообщить модератору
 Re: select запрос, помогите плиз!  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Maxx
Group by + having
+JOIN
20 май 11, 15:44    [10685314]     Ответить | Цитировать Сообщить модератору
 Re: select запрос, помогите плиз!  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Интересно также, а если [month]=12, то "следущий месяц" - опять 1-й?
Это оригинально. Записей для одного и того же номера месяца больше,
чем на самом деле, во много-много раз!
20 май 11, 15:49    [10685348]     Ответить | Цитировать Сообщить модератору
 Re: select запрос, помогите плиз!  [new]
davim
Member

Откуда:
Сообщений: 11
declare @Traffic table(CompanyName varchar(max), [Month] int, TrafficCount int)

insert into @Traffic(CompanyName, [Month], TrafficCount)
select 'c1', 1, 2000 union all
select 'c2', 2, 2 union all
select 'c3', 3, 3000 union all
select 'c4', 4, 4 union all
select 'c5', 11, 5000 union all
select 'c1', 2, 6000 union all
select 'c2', 2, 7 union all
select 'c3', 3, 7000 union all
select 'c4', 4, 8 union all
select 'c5', 12, 9000 

;with cte as
(
	select *
	from @Traffic t
	where t.TrafficCount > 1000
)
select distinct CompanyName
from cte t
where 
	exists
	(
		select * 
		from cte
		where CompanyName = t.CompanyName
			and [Month] = t.[Month] + 1
	)
21 май 11, 21:57    [10689402]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить