Может кто-нибудь рассказать мне, почему это вызывает синтаксическую ошибку в SQL Server 2008 R2? Он отлично работает в SQL Server 2014.Синтаксическая ошибка SQL Server 2008 R2
SELECT
CustomerId, RequestDate,
SUM(InitialActualCount + (KeyCardCount * x.Activity))
OVER (PARTITION BY CustomerId ORDER BY RowNumber) AS TotalActualCount,
RowNumber
FROM
(SELECT
*,
ROW_NUMBER() OVER (PARTITION BY CustomerId
ORDER BY CustomerID, RequestDate) AS RowNumber
FROM
RequestTable) x
структуру таблицы:
RequestTable (CustomerId, RequestDate, KeyCardCount, Activity, InitialActualCount)
Ошибка:
Incorrect syntax near 'order'.
Incorrect syntax near 'x'.
Заранее спасибо за любую помощь!
Спасибо за ссылку. У меня такое чувство, что ты прав насчет моей проблемы. –
Определенно ваша проблема. Но даже если он ошибался, и вы можете использовать ORDER BY в своей оконной функции SUM, я не уверен, почему вам будет все равно, что это за заказ, когда вы делаете SUM, или MIN, или MAX, или COUNT , Попытка подумать о том, где вы будете его использовать. – JamieD77