В настоящее время у меня есть веб-приложение, в котором пользователь может использовать выпадающие списки для генерации операторов SQL SELECT, например:
Выбор столбца Dropdown | Выпадающее окно оператора (=! = > <= lt; = > =) | Выделение выпадающего списка
Пользователь может делать это несколько раз, а в "фильтрах" в настоящее время все ANDed вместе.
Я хочу добавить возможность создания OR-операторов. Я мог бы легко добавить ORs в случае, когда столбцы одинаковы, но что же касается сложных логических операторов вроде
((A ИЛИ B ИЛИ C) И (D ИЛИ E)) ИЛИ (F И G)?
Как я могу позволить пользователям создавать такие заявления удобным для пользователя способом?
РЕДАКТИРОВАТЬ: указать, удобство для пользователя. В настоящее время я работаю с разработчиками, которые иногда обрабатывают SQL-запросы для нетехнического клиента, который нуждается в конкретной информации из нашей базы данных. Цель состоит в том, что это веб-приложение избавит нас от необходимости вручную их кодировать, предоставив клиенту простой в использовании инструмент, чтобы сделать это самостоятельно.
EDIT2: В настоящее время приложение не используется конечными пользователями. Единственными имеющимися у меня данными являются предыдущие рукописные SQL-запросы и, следовательно, такие запросы, которые запрашивает клиент. Учитывая, что я мог бы упростить его (например, ограничить способность пользователей генерировать запросы к типам запросов, которые они, как правило, запрашивают), но я хочу посмотреть, есть ли у кого-нибудь опыт простой и полной связи логической логики в графических интерфейсах.
Спасибо за ваше время.