sql de field gruplandırma ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
delphi.net
Üye
Mesajlar: 67
Kayıt: 01 Nis 2007 05:30
Konum: mUĞLa

sql de field gruplandırma ?

Mesaj gönderen delphi.net »

merhaba ! arkadaşlar ;

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

yukarıdaki sql kodu ile tablodaki adı, soyadı ve anaadı aynı olan kayıtları listeliyorum. query'yi dbgrid e bağladığım zaman aynı kriterlere göre filtrelenen kayıtların dbgridde t.c. kimlik no ve adreslerinin de çıkmasını istiyorum kodda nasıl bir düzenleme yapmalıyım ?

kolay gelsin iyi çalışmalar
En son delphi.net tarafından 29 Eyl 2007 01:09 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
16e9b32df6861aff1f0b65b77a29679f
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Öncelikle konu başlığında bir sorun var onu düzeltirsen seviniriz.

Kod: Tümünü seç

SELECT ADI,SOYADI,ANAADI, COUNT(*), Max(TCKimlik) AS TCKimlik, Max(Adres) AS Adres
FROM ANATB 
GROUP BY ADI,SOYADI,ANAADI 
HAVING COUNT(*)>1


şeklinde bir düzenleme iş görecektir. GROUP BY olayında Expressionlar atlanacağından MAX ile bu değerlerin içeriğine dokunmadan niteliğini değiştirdik. Böylece ana yapıya sadık kalmış olduk.

Başarılar.
Resim
Resim ....Resim
Kullanıcı avatarı
delphi.net
Üye
Mesajlar: 67
Kayıt: 01 Nis 2007 05:30
Konum: mUĞLa

Mesaj gönderen delphi.net »

hocam çok teşekküer ediyorum verdiğiniz kodları yarın denerim inş.
( başlık biraz saçma olmuş olabilir ama şimdi tam karar net karar veremiyorum ama öncekinden iyi olduğuna eminim gözlerimden uyku akıyor sabahın 4 ünden beri ayaktayım )

iyi çalışmalar kolay gelsin...
16e9b32df6861aff1f0b65b77a29679f
Kullanıcı avatarı
loribnaczo54
Üye
Mesajlar: 60
Kayıt: 24 Nis 2006 07:42
Konum: Bahçelievler/İst.

Mesaj gönderen loribnaczo54 »

mrmarman yazdı:- Öncelikle konu başlığında bir sorun var onu düzeltirsen seviniriz.

Kod: Tümünü seç

SELECT ADI,SOYADI,ANAADI, COUNT(*), Max(TCKimlik) AS TCKimlik, Max(Adres) AS Adres
FROM ANATB 
GROUP BY ADI,SOYADI,ANAADI 
HAVING COUNT(*)>1

Başarılar.
soruyu yanlış anlamadıysam, bu sorgu iç içe selectlerle de yapılabilir.

Kod: Tümünü seç

SELECT ADI,SOYADI,ANAADI, COUNT(*), 
   (Select TCKimlik From ANATB Where ADI=ANATB.ADI and SOYADI=ANATB.SOYADI) as TCKimlik, 
   (Select Adres From ANATB Where ADI=ANATB.ADI and SOYADI=ANATB.SOYADI) as Adres
FROM ANATB 
GROUP BY ADI,SOYADI,ANAADI 
HAVING COUNT(*)>1
Cevapla