Помогите сформировать SQL запрос

vxc

Новичок
Помогите сформировать SQL запрос

Здравствуйте.Помогите разобраться с одной проблемкой.
Суть такова.
Есть таблица с двумя полями id_e - идентификатор мероприятия и id_p - идентификатор человека.
Люди посещают мероприятия при этом в эту таблицу делаеться соответстующая запись.

Необходимо сделать следущее.Выбирается 2 или более человека и по ним выводиться список мероприятий на которых они присутстовали все вместе.

Сейчас я это делаю следущим обзаром:По каждому человеку выбираю все мероприятия и загоняю результат в массив,а потом нахожу точки пересечения этих массивов.Но помоему такой способ мягко говоря далек от идеального,может это все можно реализовать на уровне sql запроса?
Заранее благодарен
 

vxc

Новичок
гм....что такое JOIN я имею представление....хотя может и не совсем полное.

Под фразой "Выбирается 2 или более человека" я имел ввиду что сразу выбираються их идентификаторы id_p

Если суть не в этом укажите в какую именно сторону копать:)
 

MaxiStyle

Новичок
Непонятна как связаны между собой 2 таблицы. Один-ко-одному? Тогда зачем вообще JOIN, когда выборку можнос делать из 1 таблицы? Многие-ко-многим? Тогда почему о 3 таблицы ничего не сказано.

Какие поля в таблицах?
 

vxc

Новичок
PHP:
            id_e      id_p
               1    2
               2    1
               3    1
               4    1
               3    3
               4    4
               2    4
id_e - мероприятия
id_p люди
нужно чтобы в запрос передавались несколько значений из id_p ,например 1 и 4 и запрос вернул 2 и 4 так как люди с номерами 1 и 4 были вместе на мероприятиях 2 и 4


на самом деле мне разобрался:
PHP:
select distinct(t1.id_e) from table t1, table t2 where t1.id_e=t2.id_e and t1.id_p=1 and t2.id_p=4
но может есть еще какие-то пути решения?
 

zerkms

TDD infected
Команда форума
... WHERE `id_p` IN (1, 2, 3) GROUP BY `id_e` HAVING COUNT(*) = 3
 
Сверху