关于SQL查询语句中去除重复记录的问题!
1个回答
展开全部
最近公司人事系统新增合同管理模块,遇到一个SQL查询语句问题,具体见下文。
表User_Info记录员工基本信息:
username 用户名 nvarchar
bm 部门 nvarchar
表Ht记录员工合同信息:
username 姓名 nvarchar
ht_s 合同起始日期 DateTime
ht_e 合同终止日期 DateTime
zt 合同审核状态 nvarchar
-------------------------------------测试数据user_info表:
张三 行政部
李四 电脑部
----------------------------------------
现程序执行查询语名:
select distinct ht.id,ht.ht_s,ht.ht_e,ht.zt,ht.username,user_info.bm,user_info.username from ht,user_info where ht.username=user_info.username and user_info.bm like '%" & BmStr & "%' order by ht.id desc
也有笨的方法实现,但问题是每查询出一条结果都要和已经有的结果做比较,先比较合同信息中员工姓名是否同名,如同名则比较合同信息中合同结束日期,如此下来,效率很差
还有一个办法是改表的结构,增加一个标志字段,每次登记新合同的时候找出此人的旧合同信息加以区分,以后每次只查找有标志的记录就好了,但问题是库里面已经有三万条数据。
请高手指点!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询