В настоящее время у меня есть система, которая на основе определенных ответов предоставит пользователю определенные разделы. В настоящее время у меня было разработано как:Таблица базы данных для обработки условий ИЛИ
Id --- SectionId --- QuestionID --- Ответ
, например, если пользователь ответил Y на вопрос 12 я бы включить раздел 21. Если они ответили Y на оба 13 И 14, тогда раздел 22 будет включен.
1 --- 21 --- 12 --- Y
2 --- 22 --- 13 --- Y
2 --- 22 --- 14 --- Y
Это работало нормально, недавно я начал получать запрос, основанный на условии ИЛИ. Я думал о смене таблицы ниже конструкции, но хотел обратную связь, если есть лучший способ приблизиться к этому:
Id---SectionId---ConditionalId
1---21---12
2---21---13
ConditionalId---QuestionId---Answer
12---4---Y
12---5---N
13---6---Y
13---7---Y
Так что путь к разделу 21, чтобы отобразить систему придется либо проверить ConditiondalId 12 или 13, если он действителен, то отобразится.
Тогда как вы собираетесь обрабатывать условия 'AND' в будущем? – RBarryYoung
@RBarryYoung for И вторая таблица должна проверять оба условия, так что, например, выше, мы имеем 1-21-12, что означает, что для того, чтобы показать, что все условия для 12 должны соответствовать, должны удовлетворять, поэтому оба вопроса 4 и 5 должны быть выполнены. conditionalId может быть блоком ответов, которые все должны быть выполнены, поэтому это должно работать и для И. – Paritosh
Да, я знаю, как работает 'AND', я спрашивал, как вы собираетесь обрабатывать такие условия в ваших таблицах/схеме DB? – RBarryYoung