Sql Distinct Kullanımı (Tekrar Eden Kayıtlar)

MertkanElpeze

Asistan
Katılım
6 Ekim 2010
Mesajlar
151
Reaksiyon puanı
4
Puanları
18
KAYNAK : http://wp.me/p1dKsd-cS


Bazen tablolarımızda kayıtlarımızı incelerken tekrar eden kolonları görürüz. Mesala, 5 üyemiz mevcuttur 3 tanesi İstanbul'dan kayıt olmuştur ve 2 tanesi İzmirden. Bu 5 üyenin lokasyonlarını gözle görmek kolaydır, ama sitemiz büyümeye başladığı zaman ve lokasyonlar arttığı zaman kaç farklı ilçeden üyelerimiz var öğrenmek zor olacaktır.

Gene paralel olarak bir senaryo yazalım, bir online satış sitesinde yazılımcı olarak çalışıyoruz (hepsiburada,gittigidiyor tarzi) ve kullanıcılar çeşitli il ve ilçelerden sipariş veriyorlar. Bir gün şirketin sahibi , satışlar hakkında bilgi almak adına bize Kaç farklı ilden müşterimiz var ? gibi bir soru yöneltiğinde direk tablomuza distinct komutu göndermek zorundayız. En belirgin özellik budur. Yazının devamında yazım kurallarını ve ornek uygulamalayı görebilirsiniz..
trans.gif

SQL DISTINCT YAZIM ŞEKLİ ;
[TABLE="width: 596"]
[TR]
[TD="width: 594"]SELECT DISTINCT KolonAdi(s) FROM TabloAdi[/TD]
[/TR]
[/TABLE]
SQL DISTINC ÖRNEĞİ ;
’Tbl_Kullanicilar’Adında bir tablomuz var ve içeriği aşağıdaki gibi ;
[TABLE="width: 557"]
[TR]
[TD="width: 40"]K_ID[/TD]
[TD="width: 70"]SOYADI[/TD]
[TD="width: 122"]ADI[/TD]
[TD="width: 124"]ADRES[/TD]
[TD="width: 199"]SEHIR[/TD]
[/TR]
[TR]
[TD="width: 40"]1[/TD]
[TD="width: 70"]Hansen[/TD]
[TD="width: 122"]Ola[/TD]
[TD="width: 124"]Timoteivn 10[/TD]
[TD="width: 199"]Sandnes[/TD]
[/TR]
[TR]
[TD="width: 40"]2[/TD]
[TD="width: 70"]Svendson[/TD]
[TD="width: 122"]Tove[/TD]
[TD="width: 124"]Borgvn 23[/TD]
[TD="width: 199"]Sandnes[/TD]
[/TR]
[TR]
[TD="width: 40"]3[/TD]
[TD="width: 70"]Pettersen[/TD]
[TD="width: 122"]Kari[/TD]
[TD="width: 124"]Storgt 20[/TD]
[TD="width: 199"]Stavanger[/TD]
[/TR]
[/TABLE]
Şimdi bu tablomuza bir DISTINCT sorgusu yazalım. Yani, SEHIR bölümündeki kayıtları görmek istiyoruz ve tekrar eden kayıtları sadece bir kere görmek istiyoruz. Kodumuz şöyle olacaktır ;
[TABLE="width: 560"]
[TR]
[TD="width: 558"]SELECT DISTINCT SEHIR FROM Tbl_Kullanicilar[/TD]
[/TR]
[/TABLE]
Ve bu sorgumuzdan dönen sonuç aşağıdaki gibi olacaktır ;
[TABLE="width: 200"]
[TR]
[TD="width: 200"]SEHIR[/TD]
[/TR]
[TR]
[TD="width: 200"]Sandnes[/TD]
[/TR]
[TR]
[TD="width: 200"]Stavanger[/TD]
[/TR]
[/TABLE]
 

MertkanElpeze

Asistan
Katılım
6 Ekim 2010
Mesajlar
151
Reaksiyon puanı
4
Puanları
18
verileri ayrı bir tabloya atın, yedek olması maksadıyla. Kayıtlarda düzenli olarak nokta ile başlama mevcut, dolayısıyla C# yada vb tarafında verileri parse edin. İlk gördüğün noktadan itibaren kayıtları tekrar düzenlersen program tarafında istediğin sonuca ulaşabilirsin. SQL tarafında tahmin ettiğim kadarıyla biraz daha uğraşman gerekir. En basit mantık bu
 
Üst