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

Откуда:
Сообщений: 81
Добрый день.
Помогите, пожалуйста, с написанием запроса.
Есть таблица с полями id, num, status:
id num status
1 1 0
2 1 0
3 1 0
4 1 1
5 1 2
6 2 0
7 2 2
8 3 0
9 3 1

Нужно вывести только те значения поля num, у которых есть значения поля status и 1 и 2, то есть из примера выше нужно вывести только значение num = 1.
22 май 19, 11:20    [21890446]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с запросом  [new]
court
Member

Откуда:
Сообщений: 1805
select num 
from [Есть таблица]
where status in (1,2)
group by num 
having count(distinct status)=2
22 май 19, 11:23    [21890450]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с запросом  [new]
smatch
Member

Откуда:
Сообщений: 52
select t1.num from [таблица] t1
full join [таблица] t2 on t1.num = t2.num
where t1.status = 1 and t2.status = 2
22 май 19, 11:33    [21890468]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с запросом  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6612
smatch
select t1.num from [таблица] t1
full join [таблица] t2 on t1.num = t2.num
where t1.status = 1 and t2.status = 2

FULL JOIN? СROSS APPLY !!
22 май 19, 11:37    [21890479]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с запросом  [new]
smatch
Member

Откуда:
Сообщений: 52
select t1.num
from [таблица] t1
cross apply (select * from [таблица] t2 where t1.num = t2.num and t1.status = 1 and t2.status = 2) x
22 май 19, 11:49    [21890490]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с запросом  [new]
Gerros
Member

Откуда: Харьков
Сообщений: 471
select num from [Есть таблица] where status = 1
intersect
select num from [Есть таблица] where status = 2
22 май 19, 12:01    [21890511]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить