Я пытаюсь выполнить следующий SQL запрос на базу данных Northwind:Выполнение заказа по на колонке псевдонима
SELECT * FROM (
SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY Joinning DESC) rownum,
LastName, Country, HireDate AS Joinning
FROM Employees
WHERE Region IS NOT NULL
) r
Это дает мне ошибку:
Invalid column name 'Joinning'.
«RowNumber» требуется для пагинацией.
Может кто-нибудь предложить, как я могу сортировать по псевдониму соединения с генерируемым рулоном?
-А возможная работа вокруг
Просто понял, работа вокруг; Пожалуйста, предложите если что-то не так или нужны изменения:
SELECT ROW_NUMBER() OVER (ORDER BY Joinning DESC) rownum,* FROM (
SELECT
LastName, Country, HireDate AS Joinning
FROM Employees
WHERE Region IS NOT NULL
) r
--to положил дальше где положение на номер строки (то, что я хотел сделать для пагинацией):
With myres as(
SELECT ROW_NUMBER() OVER (ORDER BY Joinning DESC) rownum,* FROM (
SELECT
LastName, Country, HireDate AS Joinning
FROM Employees
WHERE Region IS NOT NULL
) a
) Select * from myres where myres.rownum > 0 and myres.rownum < = 0+20
быть осторожным, где вы использовать псевдонимы, попробуйте использовать HireDate вместо Joinning в Заявке пунктом. – safejrz
'ROW_NUMBER()' будет перечислять все строки, возвращенные с уникальным номером. Это происходит до того, как 'DISTINCT' считается таким, чтобы спасти себя от ненужного оператора« Distinct Sort »в плане запроса, вы должны удалить« DISTINCT ». –
Почему вы даже используете подзапрос? Не нужно imo. – NickyvV