Я считаю, что подобные вопросы задавались, но я не могу найти решение, которое работает для меня.
У меня есть база данных, которую я использую для сортировки оцифрованных книг и их страниц, и я пытаюсь отсортировать несколько тысяч страниц, содержащих карты. Из двух таблиц, которые я использую, первая перечисляет все страницы в книге и порядок их появления в книге, у нее есть три столбца (bookID, pageOrder, pageID), каждая страница имеет свою собственную строку. Во второй таблице перечислены все места (на карте), которые встречаются на каждой странице, в ней есть два столбца (pageID, placeID), если на одной странице есть несколько мест, то для каждого места в таблицу добавляется новая строка.
Что мне нужно сделать, так это создать оператор select, который присваивает каждой комбинации pageID/placeID уникальный номер, но числа должны идти в том порядке, в котором они появляются в книге. В SQL Server я бы сделал так:
SELECT ROW_NUMBER() OVER(ORDER BY bp.bookID, bp.pageOrder, pp.placeID) AS uniqueNumber, pp.pageID, pp.placeID
FROM booksAndPages AS bp INNER JOIN pagesAndPlaces AS pp ON bp.pageID = pp.pageID
К сожалению, я застрял с помощью Access. В идеале я хотел бы сделать это (если возможно) с помощью одного оператора SQL, аналогичного приведенному выше, но я также попробовал бы это с помощью VBA.
Любая помощь приветствуется.