Я использую FullTextSqlQuery в SharePoint 2007 (MOSS) и мне нужно упорядочить результаты по двум столбцам:
SELECT WorkId FROM SCOPE() ORDER BY Author ASC, Rank DESC
Однако, по-видимому, при возврате результатов учитывается только первый столбец из ORDER BY. В этом случае результаты упорядочены по автору, а не по рангу. Если я изменю порядок, результаты будут упорядочены по рангу, а не по автору.
Мне пришлось прибегнуть к собственной сортировке результатов, которая мне не очень нравится. У кого-нибудь есть решение этой проблемы?
Редактировать : К сожалению, он также не принимает выражения в предложении ORDER BY (SharePoint вызывает исключение). Я предполагаю, что даже если запрос выглядит как законный SQL, он каким-то образом анализируется перед тем, как его отправляют на сервер SQL.
Я пытался перехватить запрос с помощью SQL Profiler, но безрезультатно.
Редактировать 2 : В конце концов, я использовал упорядочение по одному столбцу (в моем случае это Автор, так как он наиболее важен) и выполнил второе упорядочение в коде на TOP N результатов. Работает достаточно хорошо для проекта, но оставляет плохое чувство неаккуратного кода.