SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 22.06.2017 15:22:22

Halumein
Участник
Зарегистрирован: 22.06.2017
Сообщений: 2

Выборка из двух таблиц один-ко-многим с условием

Приветствую!
Прошу помочь в составлении оптимального запроса.

Исходные данные:
2 таблицы:
User:
id |  name
1  |  test1
2  |  test2
3  |  test3


UserToService
id| user_id| service_id,
1 |    1     |       1
2 |    1     |       2
3 |    2     |       1
5 |    3     |       1
6 |    3     |       2
7 |    3     |       3

Нужен запрос, который бы выбирал user_id из таблицы UserToService, где service_id равен 1 И 2 И 3. (НЕ или).

Т.е. при этих данных должен вернуться только user_id - 3.

А в идеале слепить в один запрос. (Получить всех пользователей привязанных к сервису 1,2 и 3)

Неактивен

 

#2 22.06.2017 16:15:27

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5241

Re: Выборка из двух таблиц один-ко-многим с условием

select user_id from UserToService where service_id in (1, 2, 3) group by user_id having count(*)=3;

Неактивен

 

#3 22.06.2017 17:32:22

Halumein
Участник
Зарегистрирован: 22.06.2017
Сообщений: 2

Re: Выборка из двух таблиц один-ко-многим с условием

vasya написал:

select user_id from UserToService where service_id in (1, 2, 3) group by user_id having count(*)=3;

Спасибо! Уже нагуглил что нужно использовать хэвинг но не мог разобраться как его правильно применить. Возьму на заметку.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson