У меня есть таблица, состоящая из трех столбцов.
user_id, certificate_type, утвержден
Каждый user_id может иметь несколько строк, каждый из которых имеет сертификат_type между 1 и 30.
Я хочу выполнить поиск в таблице с набором разных типов сертификатов и составить список всех user_id, соответствующих комбинации. Мне нужен только результат, если строка одобрена = 1.
Я могу придумать очень сложные способы сделать это с помощью нескольких поисков, но я подозреваю, что в SQL существует простой запрос, поскольку я не верю, что то, что я пытаюсь сделать, чрезвычайно необычно!
user_id
с помощью user_id
и выберите только те, у которых user_id
параметр certificate_type
(я выбрал 4 случайных)
select user_id
from your_table
where certificate_type in (1,3,7,22)
and approved = 1
group by user_id
having count(certificate_type) = 4