27,580
社区成员
发帖
与我相关
我的任务
分享
delete from employee
where emp_no in (select emp_no from @tb1 group by emp_no having count(*) > 1)
and rowid not in (select min(rowid) from @tb1 group by emp_no having count(*)>1)
但是如果没有该rowid字段时,则不能使用这种发放,因为没有办法过滤其中的一行。此时就需要借助于一张临时表,方法是把不重复的记录先放在临时表中,然后删除表中所有的数据,再从临时表中把数据取回即可。
select distinct * into tmp from employee
delete from employee
insert into employee select * from tmp
类似这样的,这个是sql server中的,看着改吧