With Results as
(
SELECT Top(100) percent ROW_NUMBER() over (Order by (select 1)) as RowNumber,
Ad.Date, Title
FROM Ad inner join Job on Ad.Id = Job.AdId
Order by
case When @sortCol='Date' and @sortDir='ASC' Then Date End ASC,
case When @sortCol='Date' and @sortDir='DESC' Then Date End DESC
)
Select * from Results
Where RowNumber BETWEEN @FirstRow AND @LastRow
END
Что бы ни было передано в @sortDir и @sortCol, это не сработает. Что я делаю неправильно?Упорядочить: не работает
Постарайтесь не удалять вопросы, когда у вас есть ответ, и я вам поможем .. http://stackoverflow.com/questions/4568723/invalid-column-name/4568788#4568788 – bAN
Первая мысль - shouldn ' т ваш заказ by by должен быть в запросе «SELECT * FROM Results»? –
Да, я пробовал это, но затем пейджинг работает не так, как ожидалось, поскольку Row_Number основан на заказе. – coure2011