秩序的SharePoint搜索結果:由多個列
SELECT WorkId FROM SCOPE() ORDER BY Author ASC, Rank DESC
但是似乎從ORDER BY僅第一列在返回結果時要考慮到。在這種情況下,結果由作者正確排序,但不排序。如果我更改訂單,結果將按Rank排序,但不會由作者排序。
我不得不求助於我自己對結果的排序,我不太喜歡。有沒有人可以解決這個問題?
編輯:不幸的是,它也不接受ORDER BY子句中的表達式(SharePoint引發異常)。我的猜測是,即使查詢看起來像合法的SQL,它在被提供給SQL服務器之前也會被解析。
我試圖用SQL Profiler來捕獲查詢,但無濟於事。
編輯2:最後,我使用單列(作者在我的情況,因爲它是最重要的)排序,並在結果的TOP N代碼中做第二次排序。對於這個項目來說足夠好,但是卻留下了糟糕的代碼感。