Во-первых, я могу поддержать только другие голоса: проработайте с клиентами то, что им действительно нужно.Хороший аргумент: «Я могу это сделать, но это будет стоить вам X тысяч долларов, каждому пользователю потребуется Y часов обучения, а для его поддержки вам потребуется разработчик на 100 000 тысяч долларов в год».
(К сожалению, большинство клиентов в этот момент предпочитают выбирать парня, который говорит: «Да, можно сделать дешевле!»)
Только второй, и только если клиент говорит: «Да, нам все нужно»:
Хорошо работает прогрессивная фильтрация представления списка / сетки.Вместо того чтобы строить SQL-запрос, а затем запускать его, пользователь может напрямую работать с результатами: например, щелкнув правой кнопкой мыши ячейку и выбрав «ограничение на это значение», можно добавить ограничение WHERE colN = <constant>
.
Вы можетегенерировать предложения для столбцов из вызовов SELECT DISTINCT
- если он возвращает меньше, скажем, 20 значений, вы можете предложить флажки для комбинации ИЛИ возможных значений.
Было бы интересно обсудить en элегантный пользовательский интерфейс для множества оставшихся проблем: условия OR для нескольких столбцов, упорядочение по нескольким столбцам, группировка, ...