首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL语句 取与当前值不重复的一个非连续字段的最小空白值解决方法

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

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 ) 

热点排行