【发布时间】:2013-09-16 04:43:05
【问题描述】:
我相信有人问过类似的问题,但我找不到适合我的解决方案。
我有一个数据库,用于对数字化书籍及其页面进行排序,我正在尝试对包含地图的数千页进行排序。在我使用的两个表中,第一个列出了一本书中的所有页面以及它们在书中出现的顺序,它有三列(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。
非常感谢任何帮助。
【问题讨论】:
-
检查这个解决方案(参见关于 DCount() 的解决方案 2)stackoverflow.com/questions/17279320/…
标签: sql ms-access row-number