I have a table EMP in which the values will be like this
EmpId Ename Sal DeptId
11 Ram 10000 10
11 Ram 10000 10
22 Raj 20000 20
22 Raj 20000 20
33 Anil 15000 30
33 Anil 15000 30
I want to delete only duplicate Rows. After Delete I want
the output like this
EmpId Ename Sal DeptId
11 Ram 10000 10
22 Raj 20000 20
33 Anil 15000 30
Answer Posted / mohan
create table #temp(empid int, ename varchar(10),sal int,
deptid int)
insert into #temp values(11, 'Ram', 10000, 10)
insert into #temp values(11, 'Ram',10000,10)
insert into #temp values(22, 'Raj', 20000, 20)
insert into #temp values(22, 'Raj', 20000, 20)
insert into #temp values(33, 'Anil', 15000, 30)
insert into #temp values(33, 'Anil', 15000, 30)
insert into #temp values(44,'bbb',11111,40)
select * from #temp
set rowcount 1
delete from #temp where empid in(select empid from #temp
group by empid having count(*)>1)
while @@rowcount>0
begin
delete from #temp where empid in(select empid from #temp
group by empid having count(*)>1)
end
set rowcount 0
select * from #temp
| Is This Answer Correct ? | 0 Yes | 1 No |
Post New Answer View All Answers
Define cursor locking
Do you know what is fill factor and pad index?
What are the advantages of log shipping?
what is a default tcp/ip socket assigned for sql server? : Sql server database administration
Can we perform backup restore operation on tempdb?
Is BCNF better than 2NF & 3NF? Why?
What is raid and what are different types of raid levels?
What are the components of dbms?
what are cursors? : Sql server database administration
Explain primary key in sql server?
How to transfer a table from one schema to another?
What triggers long term care?
Is a primary key unique?
Can you roll back the ddl statement in a trigger?
How to create dbo table in sql server?