分頁組件PageHelper和SQLServer的多表關聯分頁查詢問題
原來使用4.1.7,當2個表關聯查詢的時候如果有同名,Select的時候給予了別名,使用PageHelper.orderBy("別名"),會出現錯誤
因為生成的語句是
SELECT TOP 3 Name,CTypeId FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY TypeId DESC) PAGE_ROW_NUMBER, A.Name,A.TypeId as CTypeId FROM Customer A LEFT JOIN CustomerType B ON A.TypeId = B.TypeId ) AS PAGE_TABLE_ALIAS WHERE PAGE_ROW_NUMBER > 0 ORDER BY PAGE_ROW_NUMBER
因為(ORDER BY TypeId DESC)中TypeId是不知道哪個表的
后來查看更新記錄,后面的版本更新了這個問題
現在使用最新版本5.1.3,生成的語句是
SELECT TOP 3 Name,CTypeId FROM ( SELECT ROW_NUMBER() OVER (ORDER BY CTypeId DESC) PAGE_ROW_NUMBER, Name, CTypeId FROM ( SELECT A.Name, A.TypeId AS CTypeId FROM Customer A LEFT JOIN CustomerType B ON A.TypeId = B.TypeId ) AS PAGE_TABLE_ALIAS ) AS PAGE_TABLE_ALIAS WHERE PAGE_ROW_NUMBER > 0 ORDER BY PAGE_ROW_NUMBER
可見其中增加了一個子查詢,解決了這個問題