读书人

SQL语句 取与当前值不重复的一个非连续

发布时间: 2012-04-11 17:42:33 作者: rapoo

SQL语句 取与当前值不重复的一个非连续字段的最小空白值
用四角号编码写了个四位档案编号程序

王五=1010
张三=1310
马六=7200
谢晓蒙=3643

因为同一年的人事档案不超过1000份,所以四位编码足够使用

问题是重名的档案编号会重复

SQL code
sql = "Select count(daid) from sb WHERE daid='"&daid&"'"set rs=conn.execute(sql)if rs(0) <> 0 thendaid=daid+1 end if

以上代码最多重名两次,而且指不定会占用别人的不重名的档号
比如第一个人 王五=1010,再次录入王五时,王五=1011

求SQL语句中,如何查找0000~9999中最接近当前daid的不重复数值

[解决办法]
找不是问题
SQL code
SELECT TOP 1 A.daid + 1 ASN NextdaidFROM TAB AWHERE NOT EXISTS (  SELECT 1 FROM TAB  WHERE daid = A.daid + 1  )ORDER BY ABS(A.daid + 1 - 1010 ) 

读书人网 >SQL Server

热点推荐