Herkese merhaba,

Bu yazıda size SQL Server’da tekrarlanan kayıtların tespit edilip nasıl silineceğinden bahsedeceğim. Bu işlem için aşağıdaki kod bloğunu inceleyelim.

--Tablomuzu oluşturuyoruz.
CREATE TABLE TestVeriler
    (
      ID INT ,
      Ad VARCHAR(100) ,
      Yas INT
    );
GO

--Verilerimizi ekliyoruz.

INSERT INTO TestVeriler
VALUES (1,'Ali',34),
(1,'Ali',34),
(2,'Burak',37),
(3,'Ceyda',21),
(3,'Cihan',21),
(3,'Esra',21);
GO

--Kayıtlarımızı listeliyoruz

SELECT ID,Ad,Yas FROM TestVeriler;

--Çift kayıtlarımızın silinmesi işlemi

WITH CTE(ID,Ad,Yas,CiftKayitlar)
AS
(
SELECT ID,Ad,Yas,
ROW_NUMBER() OVER (PARTITION BY ID,Ad,Yas ORDER BY ID) AS CiftKayitlar
FROM TestVeriler
)
DELETE FROM CTE
WHERE CiftKayitlar > 1
GO

--Listelenmesi

SELECT ID,Ad,Yas FROM TestVeriler;

Burada bir tablo oluşturulmuş ve tabloya veriler eklenmiştir. Dikkat edileceği üzere aynı kayıttan iki tane mevcuttur. Sonrasında CTE oluşturularak birden fazla olan kayıtlar tespit edilmiş ve fazla olan kayıtlar sonrasında silinmiştir.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

625 Kez Okundu

Kategoriler: