Здравствуйте, white_znake, Вы писали:
_>Здравствуйте, Toughpheeckouse, Вы писали:
T>>Здравствуйте, white_znake, Вы писали:
_>>>Здравствуйте, уважаемые коллеги
_>>>Есть таблица:
_>>>Fragments:
_>>>NoteID FragmentID
_>>>1 1
_>>>1 4
_>>>1 5
_>>>2 2
_>>>2 5
_>>>3 1
_>>>3 7
_>>>надо отобрать NoteID для которых FragmentID = 1, 4 и 5, т.е. выбрать NoteID — 1
T>>T>>select
T>> t.NoteID
T>>from t1 t
T>>where t.FragmentID in (1, 4, 5)
T>>group by t.NoteID
T>>having count(*) = 3
T>>
T>>Если у тебя пара (NoteID, FragmentID) уникальная, то будет работать этот запрос.
T>>Если не уникальна, то другой запрос нужен
_>я уже пробовал, но пары у меня не уникальные
select
t.NoteID
from t1 t
where t.FragmentID in (1, 4, 5)
group by t.NoteID
having count(distinct t.FragmentID) = 3