Как найти похожие записи в рамках одной, с доп. условием?

Здравствуйте, есть таблица заказов - order
id | user | flower
1 | 1 | 5
2 | 1 | 102
3 | 2 | 102
4 | 2 | 5
5 | 2 | 11
6 | 3 | 5

Как выбрать только тех user, которые покупали flower со значениями 5 и 102, одновременно; при этом исключить user'a, если он покупал ещё что-то кроме 5 и 102
Т.е. в данном случае подходит только user со значением 1, т.к. user 2 - покупал ещё и 11 flower, кроме 5 и 102
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 1
protasovse
@protasovse
Python, JS developer
SELECT * FROM `user_table` WHERE
`user` IN (SELECT `user` FROM `order` WHERE `flower` = 5) AND
`user` IN (SELECT `user` FROM `order` WHERE `flower` = 102) AND
`user` NOT IN (SELECT `user` FROM `order` WHERE `flower` <> 5 
OR `flower` <> 102)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы