• 09-06-2010, 14:19:40
    #1
    Üyeliği durduruldu
    Selamlar. Elimde aşağıdaki veriler var diyelim.

    ID - İSİM - OKULNO - TELEFON
    ------------------------------

    1 - MEHMET - 122 - 535555
    2 - METIN - 125 - 987875
    3 - MEHMET - 148 - 3513554
    4 - HATICE - 887 - 64544
    5 - ADEM - 864 - 65465

    Ben bu verilerden İSİM kısmında 2 defa geçenleri sadece 1 defa almak istiyorum

     
    SELECT DISTINCT isim from tablo_adı
    diyorum istediğim sonu. geliyor ancak okulno,telefon ve ID ye ulaşamıyorum doğal olarak. çünkü SQL de belirtmiyorum.

     
    SELECT DISTINCT isim,id,tel,okulno from tablo_adı

    dediğimde ise tüm kayıtları listeliyor.

    Bana

    sadece isme göre DISTINCT yapacak ama telefon, ID ve okulnosunu da getirecek SQL komutu lazım. çok araştırdım bulamadım.

     
    SELECT * (DISTINCT isim) from tablo_adı
    dedim yemedi.

    Yani şu sonucu istiyorum

    1 - MEHMET - 122 - 535555
    2 - METIN - 125 - 987875
    4 - HATICE - 887 - 64544
    5 - ADEM - 864 - 65465



    Şimdiden teşekkür ediyorum arkadaşlar.
  • 09-06-2010, 18:11:05
    #2
    SELECT (DISTINCT isim),tablo_adi.* from tablo_adi
    olarak dene birde
  • 09-06-2010, 19:51:07
    #3
    Üyeliği durduruldu
    RedZ adlı üyeden alıntı: mesajı görüntüle
    SELECT (DISTINCT isim),tablo_adi.* from tablo_adi
    olarak dene birde
    teşekkürler hocam. artık yarın deneyebilirim. başka bir yöntemle hallettim ama bu verdiğiniz olursa çok daha iyi olur.
  • 11-06-2010, 20:03:47
    #4
    Eposta Aktivasyonu Gerekmekte
    DISTINCT ile istediğini yapamazsın, benzersiz olanları grupladığı için
    DISTINCT alan1,alan2... diye yaptığında her alanı kendi benzersizlerine göre grupluyacaktır ve yine benzer alanlar karşına gelecektir.

    sql ile bu halledilmiyor sanırım. GROUP BY ilede yapılmaz sanırım.

    Şöyle birşey yapabilirsin ama.

    Distinct yada group by ile önce isimleri alırsın C# ile yeni bir sorgu yapıp ve bir for döngüsüne sokup o ismin tüm alanlarını çekebilirsin