使用java在SQL Server中进行动态搜索

时间:2012-01-11 04:48:49

标签: java sql sql-server

我有一张员工表:

Empid   EmpName   Remark
001     Bob 
002     Harish  
003     Tom 
004     Dicky   
001     Bob
003     Tom 

我必须找到重复的员工ID,并相应地将备注字段更新为重复!

感谢。

3 个答案:

答案 0 :(得分:1)

update employee set remark = 'duplicate'
where empid in (
  select empid
  from   employee
  group by empid, empname
  having count(*) > 1 )

答案 1 :(得分:0)

这个问题非常模糊,因为您没有提到您正在使用的ORM库或者您如何访问/操作数据库。但基本上你想要做的是执行派生表查询,然后根据结果做出决定。

SELECT * FROM
    (SELECT empId, count(empId) numIds from Employee group by empId) IdCount
        WHERE numIds > 1;

通过PreparedStatement或ORM框架提供的任何内容运行此查询,然后迭代每个结果并更新备注字段。

答案 2 :(得分:0)

下面将为您提供重复记录的ID

  `select empID, empName, count(empID) as cnt from fschema.myTable group by (empID) having cnt > 1 order by cnt`

将尽快回复您如何将备注设置为1 ...