У меня была похожая проблема на веб-сайте, который я построил с отчетами о случаях. Я хотел, чтобы отчеты о случаях, когда имя жертвы, как известно, сортировались наверх, потому что они более убедительны. И наоборот, я хотел, чтобы все дела Джона До были внизу. Так как это также включало имена людей, у меня также была проблема сортировки по имени / фамилии. Я не хотел разбивать его на два поля имен, потому что в некоторых случаях это совсем не люди.
Мое решение:
У меня есть поле "Имя", которое отображается. У меня также есть поле «NameSorted», которое используется во всех запросах, но никогда не отображается. Мой входной интерфейс обеспечивает автоматическое преобразование «LAST, FIRST», введенного в поле сортировки, в версию дисплея.
Наконец, для «сортировки» сортировки я просто помещаю соответствующие символы в начало поля сортировки. Так как я хочу, чтобы материал вышел в конце, я поставил "zzz" в начале. Для сортировки сверху можно поставить "!" в начале. Опять же, ваш пользовательский интерфейс редактирования может позаботиться об этом за вас.
Да, я признаю, что это немного глупо, но это работает. Одним из преимуществ для меня является то, что мне приходится выполнять более сложные запросы с объединениями в разных местах для создания страниц по сравнению с RSS и т. Д., И мне не нужно постоянно запоминать сложные выражения для правильной сортировки, их всегда просто сортировать по «NameSorted» "поле.
Нажмите на мой профиль, чтобы увидеть получившийся веб-сайт.