2014-10-15 2 views
2

У меня есть следующий запрос:Rank() Over Partition By в MS Access

SELECT opstudy, product_set, RANK() OVER (PARTITION BY opstudy ORDER BY case_pack_qty) AS CASE_PK_RANK 
FROM rngr_15_grp; 

, что я использую в MS Access. У меня установлены параметры Object Designer для синтаксиса SQL Server. Я получаю

«синтаксическую ошибку (пропущенный оператор) в выражении запроса RANK() OVER (PARTITION BY opstudy ORDER BY case_pack_qty)

Какой оператор принадлежит в этом выражении?

ответ

1

Вы не можете использовать RANK() OVER ... (ANSI 92) подразумевает, что вы должны использовать синтаксис ANSI-92 для всех запросов. Функция аналитического окна RANK() не была введена в стандарте ANSI до ANSI SQL: 1999 и, таким образом, t используется в режиме SQL-92.

+0

спасибо для выяснения! –

+0

@jpw Но есть ли какие-либо аналоги для этого? – Rocketq

+1

@Rocketq Я не думаю, что есть что-то встроенное в Access для ранжирования секционированных данных таким образом, но это не должно быть сложно сделать в VBA. – jpw

Смежные вопросы