У меня есть таблица с 2 столбцами (см. ниже). У члена может быть несколько ответов на вопрос:
RESPONSES
---------
member_id INT
response_id INT
SAMPLE DATA
member_id -- response_id
1 -- 3
1 -- 5
2 -- 1
2 -- 5
2 -- 9
3 -- 1
3 -- 5
3 -- 6
Что мне нужно сделать, так это запросить таблицу для члена, отвечающего всем критериям ответа. Например, мне нужно выбрать всех членов, у которых есть response_id из 1 и 5. Я использую следующий запрос:
SELECT DISTINCT member_id
FROM responses
WHERE response_id = 1 AND response_id = 5
Я бы ожидал вернуться к member_id 2 и 3. Однако я ничего не получил. Я использовал EXPLAIN, и он показывает, что в моем запросе есть ошибка. Что я делаю неправильно?
Кроме того, существует ли функция, аналогичная IN, где все критерии должны быть выполнены, чтобы вернуть true?