Re[3]: хитрый select
От: anddros  
Дата: 06.02.09 16:11
Оценка:
Здравствуйте, 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.