(VB.NET 2010)如何编写选择最低未使用数字的SQL查询

时间:2017-01-12 10:38:20

标签: sql vb.net ms-access oledb vb.net-2010

我正在尝试编写一种算法,该算法在运行时将遍历我的访问数据库中的一个表,并找到未使用的最小数字(=> 1)。为了澄清,这是一个记录的ID,如果我在访问中使用自动编号功能,我将无法执行我需要的任务。

例如,如果我有ID为1和3的记录;算法将检测到“2”,然后返回值2,我稍后可以使用。

不幸的是我没有任何可以提供的示例代码,但是我使用的是Microsoft Visual Studio 2010,我使用Oledb系统在VB.NET中进行编程,以提供与数据库的连接。

感谢您的帮助。

编辑:我正在考虑使用SORT查询,但我不知道我会跟进它。因此,虽然到目前为止它非常简陋,但我可以用以下方法开始算法:

SELECT StudentID FROM Students
ORDER BY StudentID;

我认为通过这样做,我可以让用户自己找到一个ID,然后设置它,但它可能会破坏我的应用程序的目的,即提供一个跟踪学生数据的自动化系统。

1 个答案:

答案 0 :(得分:0)

select min(StudentID) + 1
from Students s1
where not exists (select 1 from Students s2
                  where s2.StudentID = s1.StudentID + 1)