Sql Server – Tablolarımızda Aynı Kayıtları Bulup Silelim
Bizim veya müşterilerimizin tablolarında verilerin tekrar etmesi istenmeyen bir durumdur. Özellikler ürünler tablosunda aynı kategoride aynı ürünün birden fazla olması hepten istenmeyen vahim bir durumdur. Bu gibi konularda aşağıdaki sorgular ile tekrar eden kayıtları bulup silebilirsiniz.
Not: Özellikle aktif olarak kullanılan veritabanlarında ne kadar çalıştığından çok emin olduğunuz bir update – delete komutunu yedek almadan çalıştırmayınız. Her ne kadar yedek almak için beklemek sıkıcı olsa da olası bir kötü durumda sorunu çözmek için kat be kat daha sıkılabilirsiniz. Benden söylemesi.
[sql]
— Aynı Kayıtların Bulunması için
SELECT MAX(ProductID) as ID, ProductName, CategoryID FROM Products
GROUP BY ProductName, CategoryID
HAVING COUNT(*) > 1
— Aynı Kayıtların Silinmesi için
DELETE FROM Products
WHERE ProductID IN
( SELECT MAX(ProductID) FROM Products
GROUP BY ProductName, CategoryID
HAVING COUNT(*) > 1)
[/sql]
Elinize sağlık Mesut bey. çok işime yaradı.