ASP Rehberi , ASPRehberi.Net - ASP ve ASP.NET Konuları , Scriptleri , Hosting , Programlar , Araçlar

 # 22 Agustos 2008, Cuma
 
 #  Kategoriler » ASP » Makaleler
 

SQL Distinct Kullanımı Bu içeriğin puanı : 3,9 10557 Görüntülenme
Bu makalemizde SQL cümlemizde seçtirme işlemi yaparken Distinct komutunun yararlarını göreceğiz.

Distinct ile bir tablomuzdaki bir alana ait kayıtların farklı isimde olanlarını seçeriz.Bunun anlamı ayrı ayrı olanlardır.Örnek olarak bir tablo oluşturalım ve nasıl bir işe yaradığını örnek ile görelim

Tablomuz'da ID(AutoNumber),isimler(text) adlarında 2 adet alanımız olsun, aşağıdaki resimde kayıtları ve alanları görebilirsiniz



Distinct komutu yardımı ile buradaki farklı isimleri seçtirebiliriz.Yani bir isimden aynı var ise o isimden bir adet seçer ve diğerleri seçmez.Yukarıdaki tablonun distinct kullanırsak çıktısı şöyle olacaktır.

Serdar
Alparslan
Uğur
Olgaç

şeklinde çıkarılır.Dikkat ettiğiniz gibi 2 Serdar adlı olan ve 1 Alparslan isimli olan kayıtları seçmemiştir.

Şimdi ise bu seçtirme işleminin nasıl yapıldığını görelim.Tablomuzun ismide "tblisimler" tablosu olsun.Yukarıdaki alan isimlerini kullanarak ekrana bu farklı biçimde nasıl yazdırılacağını görelim

<%
'ObjConn adında veritabanı bağlantınız buraya

Set ObjRS = Server.CreateObject("ADODB.Recordset")
ObjRS.Open "Select Distinct isimler from tblisimler",ObjConn,1,3

Do Until ObjRs.Eof
Response.Write ObjRS("isimler") & "<br>"
ObjRs.MoveNext
Loop
%>


Yukarıda gördüğünüz gibi farklı olan isimleri seçtirdik ve hemen aşağısında döngüye sokarak bu seçilmiş isimleri yazdırdık.Eğer aynı tablo ve kayıtları ekleyip, doğru isimleri üstte belirttiğim gibi ayarlarsanız çıktısı yukarıda belirtmiş olduğum gibi

Serdar
Alparslan
Uğur
Olgaç

şeklinde farklı olan isimler ekrana yazdırılacaktır.

Fakat burada dikkatinizi bir durum çekmiş olmalı.Başka bir alan ismi kullanamıyoruz(seçmedik).Diğer SQL cümlelerinde alan adlarını alan1,alan2 şeklinde virgüller ile yanyana seçtirme yada * ile tamamanı seçtiriyor olabilirsiniz.Distinct kullanıcak iseniz bu olmuyor.
Bu farklı isimleri seçtirme işlemini yapmak isterseniz bir adet daha ayrı recordset açmanız gerekecek .
 Telif : Serdar Toros | Eklenme : 11 Haziran 2005, Cumartesi
 
 

Bu içerik hakkında 4 yorum yapılmış

 

 
İsminiz :
Mail Adresiniz :
Yorum
:
   

     

// Gizle
ASP Rehberi Mini Editör

  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle
Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle
 Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle  Form 'a gülücük ekle Form 'a gülücük ekle Form 'a gülücük ekle


 
 
Yorumlar(4) Not : Yorumlar zamana göre son yorumdan ilk yoruma doğru(azalan) biçimde sıralanmıştır.
Yorumlarınız site yöneticileri tarafından onaylandıktan sonra eklenecektir.
+ Merhaba ;
Peki Birden FazLa aLan ListeLeyeceksek ve aynı sorun varsa distinct komutu yerine ne kuLLanmamız gerekLi ... örneğin ;

Select distinct malzeme.malzeme,stokcikis.cikanmiktar,stokcikis.tarih,stokcikis.fiyat,birim.birimturu,kalan.kalan from stokcikis,kalan,birim,malzeme
Yazan : Ferhat BEKTAŞ | Zaman : 5 Nisan 2008 Cumartesi, Saat 03:48
 
+ numune arkadaşım, eğer distinct  komutunu veritabanında başka bi alan üzerinde yapıyosan, id ye göre sıralayamazsın. çünki sorgu cümlende distinct  adi, id diye iki alanı birden seçilmiyor.
Yazan : Muammer BİLGİN | Zaman : 19 Şubat 2008 Salı, Saat 12:39
 
+ yaw order by id desc gibisinden sıralamayı koyamadım onu yapınca hata veriyor nasıl olacak onu da sölesenz.
Yazan : numune | Zaman : 15 Kasım 2007 Perşembe, Saat 19:04
 
+ aslinda distinct komutu cok buyuk bir oranla birden fazla alanin listelenmesi durumunda kullaniliyor. bu yuzden yazinin sonunda bahsettigin olayi ornekle gosterseydin cok buyuk bir iyilik yapmis olurdun.. ama tesekkurler bende neden calismiyor diye dusunuyordum benmi hata yapiyorum diye dusundum. zaten calismazmis :)
Yazan : murat | Zaman : 10 Mart 2006 Cuma, Saat 12:44
 
 .: Sayfalar  1.
 
# Kategori'nin Yenileri

İsim

Hit

Turuncu Galeri (tr)

3395

Haydi okullar internete.... (tr)

255

rc0der Reklam Sistemi v1.0 (tr)

762

HiddenChest İş ve Bayilik Başvuru Formu (tr)

1629

TradeSE E-Ticaret Yazılımı (tr)

442

Link Portal 2007 3 Temalı (tr)

1908

Gupse Medya Linkleri v0.1 (tr)

524

HiddenChest Ziyaretçi Defteri (tr)

1777

HiddenChest Kayan Haber (tr)

2300

HiddenChest Aktif/Pasif Haber Sistemi 1.1 (tr)

1103

 
 
# Kategori'nin Popülerleri

İsim

Hit

IIS Kurulumu ve Yazma İzni

75398

Üyelik Sistemi Yapımı

54553

Veritabanı Tablo İşlemleri

34712

MS SQL Server - 1

33235

Hazır Site v2.1 (tr)

29238

Klasör Şeklinde Linkler(404 Yönetimi)

24160

Sayfaları şifreleme(ENCODE)

21956

MS SQL Server - 2

21685

Include Yöntemleri

17454

MS SQL Server - 3

15428

 
  # AKTİF ÜYELER
Aktif üye yok
 
 
 

 
 ASP Rehberi © 2004 - 2008
 Tasarım ve Programlama : Serdar TOROS
 ASPRehberi.Net web sitesi SiDEnet sunucularından yayınlanmaktadır.

[ 0,13 ]    ASPRehberi.NET RSS Kaynağı   Bu site Microsoft SQL Server Veritabanı kullanmaktadır

eXTReMe Tracker