Я борюсь с тем, что выглядит как реляционное деление в SQL.Мне нужно отфильтровать данные из одной таблицы на основе нескольких критериев.Ниже приведена схема того, как выглядит моя таблица.
| -------|----------------|-----------------|----------------|
|ID |Question |RespondentId |Answer |
| -------|----------------|-----------------|----------------|
|1 |Big |1 |Yes |
|2 |Big |2 |Yes |
|3 |Big |3 |No |
|4 |Gender |1 |Male |
|5 |Gender |2 |Female |
|6 |Gender |3 |Female |
|7 |Children |1 |No |
|8 |Children |2 |Yes |
|9 |Children |3 |No |
--------------------------------------------------------------
Мне нужны RespondenId s из этой таблицы с именем Ответы , которые соответствуют следующим фильтрам: Вопрос = Большой и Дети и Ответ = Да и Да соответственно для каждоговопрос.Поэтому, если бы у меня был правильный запрос Sql, мой результат должен вернуть мне следующий массив: [2] , поскольку единственная строка, в которой есть ответ Да на вопрос Большой и ответ Да на вопрос Дети - это тот, у кого RespondentId = 2.
Кроме того, вопросы и ответыпри условии не являются фиксированными и должны быть модульными.Например, я должен иметь возможность изменить ответ или удалить вопрос без необходимости изменять всю структуру моего запроса.
Не могли бы вы помочь мне найти правильный запрос для этой проблемы?Я искал множество объяснений, предоставленных @Erwin Brandstetter, но ни одно из них не соответствовало моим потребностям.