Я пытаюсь преобразовать эту функцию доступа в эквивалент SQL.
Last([Delivery Table].[Advice Number]) AS [LastOfAdvice Number]
Так как последняя функция не существует в SQL, я сделал это:
(SELECT TOP 1 [Delivery Table].[Advice Number] FROM
(
SELECT [Delivery Table].[Advice Number]
FROM [Delivery Table] ORDER BY [Delivery Table].[Advice Number] DESC
) AS [Advice Number Sorted]
) AS [LastOfAdvice Number]
Я получил вышеуказанное решение от: преобразовать функцию ms-access last () в sql server 2008
Однако я получаю это сообщение об ошибке:
Msg 1033, Level 15, State 1, Line 137
The ORDER BY clause is invalid in views, inline functions, derived tables,
subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is
also specified.
Это сбивает с толку, потому что я уже указал TOP выше.
Есть идеи?
Edit:
Это изображение показывает функцию, используемую при доступе.