Cyph3r Posted August 2, 2017 Share Posted August 2, 2017 Arkadaşlar firebird veritabınında mükerrer olan kayıtları silmek istiyorum... Arattığımda genelde hep aynı tip sorguyu veriyorlar ama istediğim şekle uyduramadım onu tam olarak... Aşağıda sorgu sonucu tablonun olması gereken halini gösterdim... Sorguya sadece KOMSUTIPI 1 olan kayıtlar girecek ve SINIRTIPI ile KOMSUADI birlikte mükerrer olan kayıtları silmeye çalışıyorum... Bu sorguda nasıl bir düzenleme yapmalıyım? yada farklı bir sorgu paylaşabilecek olan varsa sevinirim... delete from adaparselkomsulari where sn not in (select min(sn) from adaparselkomsulari group by sinirtipi, komsuadi); Yardımcı olabilecek arkadaşlara teşekkürler... Quote Link to comment Share on other sites More sharing options...
KintaRo Posted August 2, 2017 Share Posted August 2, 2017 stackoverflow'da şöyle bir örnek buldum: (MySQL için) DELETE n1 FROM names n1, names n2 WHERE n1.id > n2.id AND n1.name = n2.name kabaca şu şekilde çalışıyor, names tablosunun bir n1 değişkenine atıyor, daha sonra yine names tablosunu n2 değişkenine atıyor, elinde names tablosundan 2 adet oluyor boylece karşılaştırma yapıyor. name sutunları aynı ise ve id büyüktür id'den ise o satırı siliyor.id büyüktür id'den dememizin amacı bir sonraki satıra atlamak için. ve böylece o kayıtları içeren ilk satır silinmiyor ve kayıtlarda kalıyor. biraz karışık gibi ama değil sen yine de db'nin bir yedeğini alıp öyle dene ehehe 1 Quote Link to comment Share on other sites More sharing options...
Cyph3r Posted August 2, 2017 Author Share Posted August 2, 2017 DELETE n1 FROM adaparselkomsulari n1, adaparselkomsulari n2 WHERE n1.sn > n2.sn AND n1.sinirtipi = n2.sinirtipi AND n1.komsuadi = n2.komsuadi Şeklinde uyarladım ama çalışmadı malesef Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.