MS Access中替代SQL函数ROW_NUMBER()的方法

4
我使用MS Access 07,需要一点帮助。
我有两个表TbProjectTeam和TbProjectList。我需要比较员工离职日期和项目开始日期。我使用了以下SQL语法:
SELECT [TbProjectTeam ].[Surname, name] 
FROM TbProjectTeam 
INNER JOIN TbProjectList
ON TbProjectTeam .[DateofTurnOut] <= TbProjectList.[DateOfStart] 
WHERE TbProjectList.[ID] = 1 
ORDER BY [Surname, name];

我的目标是将TbSeznamUkolu. [ID] = 1表达式中的1替换为类似于ROW_NUMBER() OVERSQL中的东西。 MS Access不支持此函数,但不幸的是,我需要知道所有项目的行索引。我想象一下,每行都会显示匹配的员工。

请问有人可以帮帮我吗?非常感谢。


2个回答

1

MS Access拥有一个AutoNumber数据类型,可以为记录设置连续的数字。你的数据集需要包含一个AutoNumber字段来表示T-SQL中的行。由于AutoNumber是数字类型,因此你可以使用><函数进行比较。

唯一的问题是,当记录被添加到表中时,它们将按顺序编号。如果你能够控制它们被添加的顺序,那么就没有问题,但是如果你将AutoNumber字段添加到已经存在数据的表中,序列可能与你的要求不符。

我知道这个问题有点老了,但我希望这可以帮到你。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接