#subsonic
#дозвуковые
Вопрос:
Как мне построить запрос в дозвуковом формате этого формата:
Условие1 и ((Условие2 и Условие3) ИЛИ (Условие4 и Условие5))
Исходный SQL-запрос:
SELECT *
FROM Events
WHERE Deleted=false
AND ((DateModified IS NOT NULL AND DateModified BETWEEN @date1 AND @date2) OR (DateModified IS NULL AND DateCreated BETWEEN @date1 AND @date2))
Я пробовал разные подходы, используя AndExpreession(), OrExpression(), OpenExpression(), CloseExpression(), но, похоже, я не могу получить желаемый результат.
Заранее спасибо за ваш ответ.
Комментарии:
1. Какую версию SubSonic вы используете?
Ответ №1:
Для этого конкретного запроса, почему бы не избавиться от всех круглых скобок и просто позволить приоритету оператора взять верх:
Условие1 и условие2 и условие3 ИЛИ условие1 и условие4 и Условие5