Çoklu kayıtların silinmesi

Yine şirkette bir şeylerle uğraşırken değişik bir şeye ihtiyacım oldu. Bir tablo var ve içindeki kayıtlarda tekrar eden belirli alanlara göre bir birinin aynısı olan kayıtlar var. Bu kayıtlardan geriye bir tane kalacak şekilde güncelleme yapılması gerekiyor.

Daha önceden bununla ilgili olarak hepsini pasif yapıp sonrasında pasif olanlardan TOP 1 alıp onu aktifleştirmeyi yapıyordum. Daha güzel bir yöntem buldum. 🙂

Paging sorgularında sıkça kullandığımız OVER sayesinde bu işlemi çok daha hızlı yapabiliyoruz. Örnek üzerinde çok daha rahat anlayacaksınız.

Çoklu Verilerin Temizlenmesi

Çoklu Verilerin Temizlenmesi

Görselde de görüldüğü gibi aynı varlık için birden fazla kayıt bulunuyor ve bunlardan bir tane kalıp diğerlerinin silinmesi gerekiyor. Bunun için;

şeklinde bir sorgu çalıştırmam işimi gördü. Buna ek olarak aklınıza gelebilir neden distinct yapılmadı diye. Çünkü kayıtların PK alanları tekil yani güncellemede kullanacağım alanlar bir birinin aynısı değil. Bu çözümü raporlarda veya çoklu kayıtların temizlenmesi gereken yerlerde kullanabilirsiniz.

This article has 1 comments

  1. Fatih Tatoğlu

    Ek bir bilgi ekleme ihtiyacı daha hissettim. Bu bilgiyi öğrenmemi sağladığı için Ahmet Rende‘ ye teşekkür ederim.

    Update ve Delete işlemi yaparken tekrar tabloyu referans göstermek yerine direk WITH ile bağladığımız geçici tabloyu kullanabiliriz.

    Sadece ek olarak geçici tabloyu oluşturan sorgulara update üzerinde kullanılacak alanların eklenmesinin unutulmaması gerekiyor.

Yorumlayın