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

Откуда:
Сообщений: 2
Ситуация следующая.
Есть таблица к примеру заполненная так
|id1 | id2|
----------
|1 | A|
|1 | B|
|1 | C|
|2 | A|
|2 | C|
|3 | A|
|3 | B|

Нужно выбрать все id1 у который есть в id2 A или С. Результатом в данном случае будет 1,2.
Для A или B будет 1,3.

Возможно ли написать такой запрос?
23 янв 13, 15:27    [13816023]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с одним общим полем, и вторым по заданному набору.  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Sergiooo,

select t.id1
from [таблица к примеру заполненная так] t
where t.id2 in ('A', 'C')
group by t.id1
having count(distinct t.id2) = 2
23 янв 13, 15:57    [13816357]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с одним общим полем, и вторым по заданному набору.  [new]
Sergiooo
Member

Откуда:
Сообщений: 2
Вообще нужно было найти ID1 где есть только и только нужные ID2.
Вышло вот так:
select t.id1
from test t
where (t.id2='A') or (t.id2='B')
group by t.id1
EXCEPT
select t.id1
from test t
where (t.id2<>'A') and (t.id2<>'B')
group by t.id1
23 янв 13, 16:29    [13816690]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с одним общим полем, и вторым по заданному набору.  [new]
iap
Member

Откуда: Москва
Сообщений: 47195
Sergiooo
Вообще нужно было найти ID1 где есть только и только нужные ID2.
Если не ошибаюсь, это называется "реляционное деление"
Или что-то похожее
23 янв 13, 17:02    [13816944]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с одним общим полем, и вторым по заданному набору.  [new]
Добрый Э - Эх
Guest
iap,

именно так оно и есть - реляционное деление в чистом виде.
24 янв 13, 05:35    [13819097]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с одним общим полем, и вторым по заданному набору.  [new]
iap
Member

Откуда: Москва
Сообщений: 47195
Добрый Э - Эх
iap,

именно так оно и есть - реляционное деление в чистом виде.
В таком случае поиск по форуму выдаст несколько тем,
да ещё с очень интересными ссылками внутри
24 янв 13, 09:25    [13819468]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить