Вот скриншот прототипа, который я сделал для приложения linux несколько лет назад. Вы можете щелкнуть значки +/-, чтобы добавить строки в группу, и нажать кнопки «добавить новый ...» и «удалить последний ...», чтобы удалить самую нижнюю группу.
Над каждой группой было несколько меню, которые имели выбор: «И элементы, которые соответствуют ...» / «ИЛИ элементы, которые соответствуют ...» (за исключением первой группы, которая немного различалась) и «ЛЮБОЙ из следующее "/" ВСЕ из следующего ". Каждая строка была привязана к типу, поэтому, если вы выбрали строку для переменной, условия будут "IS", "IS NOT", "BEGINS WITH" и так далее. Для целых чисел вы получите «IS», «БОЛЬШЕ, ЧЕМ» и т. Д., А для дат «ON», «BEFORE», «ON OR BEFORE» и т. Д.
Если вы видите слово «или» перед вторым и третьим рядом первой группы, это будет «или», если выбрано «ЛЮБОЕ из следующего», и «и», если «ВСЕ из следующего:» был выбран для подтверждения выбора и облегчения «чтения» диалога.
Это не позволило бы вам сделать какой-либо мыслимый запрос, но я думаю, что он охватил около 90% того, что средний пользователь хотел бы сделать, и сделал это так, как я думал, было довольно удобным способом.

(источник: clearlight.com )