// skip if inner join is already done in paging
getDataStore().dialect.encodeColumnName(null, lastSortBy[i].getPropertyName().getPropertyName(), sortBySQL);
if (i < lastSortBy.length-1) sortBySQL.append(",");
sortBySQL.append(" FROM ");
getDataStore().encodeTableName(lastTableName, sortBySQL, query.getHints());
sortBySQL.append(" ").append(toSQL.encodeToString(filter));
sortBySQL.append(" ) ");
getDataStore().dialect.encodeTableName(TEMP_FILTER_ALIAS, sortBySQL);
sortBySQL.append(" ON ( ");
encodeColumnName2(lastSortBy[i].getPropertyName().getPropertyName(), lastTableAlias , sortBySQL, null);
sortBySQL.append(" = ");