Просто трябва да преместите WHERE
клауза към вътрешната заявка.
SELECT TeacherID, UniversityID, RowNum FROM
(
SELECT a.TeacherID, a.UniversityID, ROW_NUMBER() OVER
(ORDER BY a.TeacherID) AS RowNum FROM SelectAll a
LEFT JOIN mp_Ratings r
ON a.TeacherID = r.TeacherID
WHERE UniversityID = 2
GROUP BY a.TeacherID, a.UniversityID
) as TeacherInfo WHERE RowNum BETWEEN 10 AND 50;
Нямате достъп до RowNum
псевдоним във външната версия на заявката, защото псевдонимът все още не съществува. SELECT
се анализира предпоследно, преди ORDER BY
. WHERE
се обработва преди SELECT
.