mükerrer kayıtları bulma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
EdaNuR
Üye
Mesajlar: 20
Kayıt: 17 Ara 2003 10:43

mükerrer kayıtları bulma

Mesaj gönderen EdaNuR »

arkadaşlar pradox database kullanıyorum database de adı, soyadı, anaadı, babaadı, gibi alanlarım var ben peki adı, soyadı, anaadı, babaadı aynı girilmiş olan mükerrer kayıtları hangi kodla listeler ve bulabilirim.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

SQL ile kolayca bulabilirsin. Örneğin adı, soyadı aynı olanları bulmak için :

SELECT ADI,SOYADI, COUNT(*)
FROM TABLO_ADI
HAVING COUNT(*)>1
GROUP BY ADI,SOYADI

NOT : Sitede veritabanı bölümünde SQL ile ilgili daha geniş bir makale var.

Kolay gelsin.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Ek bir bilgi, kayıtları sorgularken veri girişlerine de dikkat edilmiş olması lazım yoksa kayıt buldurmanız baya zor olur.

Örneğin Adnan ÖNCEVARLIK, Adnan ONCEVARLIK, adnan oncevarlık, ADNAN ÖNCEVARLIK, adnan ÖNCEVARLIK, adnan ONCEVARLIK gibi bir sürü kombinasyonlarda aynı kaydı bulma ihtimaliniz azalacaktır.

Paradox'ta Language olarak ne seçtiniz (umarım Türkçe seçmişinizdir) aksi takdirde bayaaa zorlanacaksınız.

Ben bu noktalara dikkat etmenizi tavsiye etmek için yazdım.

Kolay gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
EdaNuR
Üye
Mesajlar: 20
Kayıt: 17 Ara 2003 10:43

re

Mesaj gönderen EdaNuR »

arkadaşlar bu mükerrer işini kodlarla veya nasıl rapor alacağımı analatan bi arkadaş olursa çok sevinirim acemilik işte mazur görün.. mükerrein kodlarını yazmayı bir türlü beceremedim.. :(
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Biraz daha detay verebilir misin lütfen?

1. Yukarda verdiğim SQL kodu mükerrerleri bulur. Bunu denedin mi? Tabi kendi tablona uydurman lazım.

2. Bu işini görmedi ise, 2-3 tane örnek kayıt vererek hangi tip tekrarları bulmak istediğini belirtirsen daha anlaşılır olur.

Kolay gelsin.
EdaNuR
Üye
Mesajlar: 20
Kayıt: 17 Ara 2003 10:43

re

Mesaj gönderen EdaNuR »

Sayın Admin verdiğiniz sql kodlarını uyguladım fakat heralde yanlışlık yaptım dbgrid te sadece sayı olarak alabildim.. ama benim istediğim mesela adı, soyadı, babaadı, anneadı aynı olan kayıtları bana mükerrer kayıtları listele diye tıkladığımda bana rapor olarak ayrı bir formda veya aynı formda dbgritte listeli halde isimlerle birlikle verebilirmi böyle bir kod yada çalışma mümkünmü şimdiden teşekkür ederim..
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

yine aynı kodu kullanabilirsin. Tek yapman gereken hangi alanları aynı olanları seçmek istiyorsan, onları yanyan yazman lazım.

SELECT ADI,SOYADI,ANA_ADI,BABA_ADI, COUNT(*)
FROM TABLO_ADI
HAVING COUNT(*)>1
GROUP BY ADI,SOYADI,ANA_ADI,BABA_ADI

gibi. Sayı gözükmesini istemiyorsan, il satırdaki Count(*) kısmını sil.

Kolay gelsin.
EdaNuR
Üye
Mesajlar: 20
Kayıt: 17 Ara 2003 10:43

re

Mesaj gönderen EdaNuR »

bir adet combobox oluşturdum .bir adette dbgrid var.kodları aynen şu şekilde yazdım ve hata mesajı( invalid use of keyword.Token: GROUP Line Number: 1.)

kod şu şekilde nerde yanlış yaptım ¿


procedure TFrmsecmen.mukerrerChange(Sender: TObject);
var
sqlstr:string;
begin
case mukerrer.ItemIndex of
0 : sqlstr:='SELECT ADI,SOYADI, COUNT(*) FROM secmen HAVING COUNT(*)>1 GROUP BY ADI,SOYADI ';
end;
DM.Rehber.Close;
DM.Rehber.SQL.Clear;
DM.Rehber.SQL.Add(sqlstr);
DM.Rehber.Open;

end;
EdaNuR
Üye
Mesajlar: 20
Kayıt: 17 Ara 2003 10:43

re

Mesaj gönderen EdaNuR »

sorunu çözdüm arkadaşlar

SELECT ADI,SOYADI,ANA_ADI,BABA_ADI, COUNT(*)
FROM TABLO_ADI
HAVING COUNT(*)>1
GROUP BY ADI,SOYADI,ANA_ADI,BABA_ADI


( HAVING COUNT(*)>1) ifadesi (GROUP BY ADI,SOYADI,ANA_ADI,BABA_ADI ) sonra gelecekmiş :lol:


SELECT ADI,SOYADI,ANA_ADI,BABA_ADI, COUNT(*)
FROM TABLO_ADI
GROUP BY ADI,SOYADI,ANA_ADI,BABA_ADI
HAVING COUNT(*)>1

:wink:
sair
Kıdemli Üye
Mesajlar: 288
Kayıt: 16 Haz 2003 04:41
Konum: Kastamonu
İletişim:

Mesaj gönderen sair »

Tam yazıyodum cevabı cevaba geçince senin yazı geldi. :)
sevgiler...
Cevapla