folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Ms SQL Inner Join Sıkıntısı



Ms SQL Inner Join Sıkıntısı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sharp
    Sharp's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    herkese selam farklı tablodan veri çekiyorum eşleştirerk ama benim 1 tablom için eşleşmeyenleride göstermem lazım 

    1.TABLOM CAGRILAR

    bu tabloda NUMARA,TARIH,HATNO alanlarım var

    2. TABLOM KISILER

    burda NUMARA,ADSOYAD,ADRES gibi kişisel bilgilerim var

    ben herhangi bir çağrı geldiğimde cagrilar tablosundaki numara ile kisilerdekini birleştirip çekiyorum ama numara kayıtlı olmadığında bu bilgiler gelmemekte 

    cagrilar tablomda 3 adet kayıt vardır burdaki numaralardan 2 adeti kisiler tablosundaki numaralar ile eşleşmektedir. bu sayede numara üzerinden aynı tablodan kişi bilgileride geliyor 

    Sorgum ; 

    SELECT * FROM CAGRILAR INNER JOIN KISILER ON  

    CAGRILAR.NUMARA=KISILER.CEPTEL OR CAGRILAR.NUMARA=KISILER.EVTEL 

    OR CAGRILAR.NUMARA=KISILER.ISTEL 

     

    ama bu şekilde sorgulattığım için kisiler tablosunda numara bulamayınca o kayıt gelmiyor. 

    bu sorunun nasıl üstesinden gelebilrim


    www.yesilgrow.com - Growshop
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    KopukKopca
    KopukKopca's avatar
    Kayıt Tarihi: 14/Kasım/2007
    Erkek

    left join olayını araştır.

    http://www.w3schools.com/sql/sql_join_left.asp


    2 x pi x re x pi x pi x mi x 7
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cosmic
    Cosmic's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    tam olarak hangisinde olmayan gözükmüyor anlamadım ama ya LEFT JOIN çözücek işini yada RIGHT JOIN


    Bittik biz bittik
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nessaj
    nessaj's avatar
    Kayıt Tarihi: 03/Mayıs/2010
    Erkek

    birşey sorucam,

     

    şu join gerektiren yerlerde ben selectle çift tablo çekip where de gerekli bilgilerin eşitiğni kontrol ettirerek çift tablo çekiyorum, bunun joinden ne farkı var? misal

     

    select hede.bilgi hede,hodo where hede.id = hodo.id and hede.isim = 'mehmet'

     

    tarzı

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cosmic
    Cosmic's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    nessaj bunu yazdı:
    -----------------------------

    birşey sorucam,

     

    şu join gerektiren yerlerde ben selectle çift tablo çekip where de gerekli bilgilerin eşitiğni kontrol ettirerek çift tablo çekiyorum, bunun joinden ne farkı var? misal

     

    select hede.bilgi hede,hodo where hede.id = hodo.id and hede.isim = 'mehmet'

     

    tarzı


    -----------------------------

    performans


    Bittik biz bittik
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nessaj
    nessaj's avatar
    Kayıt Tarihi: 03/Mayıs/2010
    Erkek

    çok farkediyor mu peki?, çok zahmetli oluyor join kullanmak o yüzden bu şekilde kullanıyorm ben

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cosmic
    Cosmic's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    farkediyor hocam belki 1-2 veri varken yada tek sorguda farketmezsin ama verilerini arttır test et phpmyadminden sorgu döndürüp


    Bittik biz bittik
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    http://www.ontedi.com/sql/right-outer-join-ornegi-1.html

    İşini görebilir.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sharp
    Sharp's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    Bu CAGRILAR tablom 

    CAGRIID    NUMARA     TARIH                   HATNO  CEVAPSIZ     CNOT

    11111                2012-02-24 00:00:00.000    1              1        NULL

    22222         2012-02-22 00:00:00.000     1                   0          Tekrar Aranacak

    455555         2012-02-20 00:00:00.000     1                1          NULL

     

     

    Bu KISILER tablom

    KISIID  ADSOYAD   CEPTEL

    1   Yiğit                1111

    2  Aytaç              2222

    3  Yusuf              3333

     

    SELECT * FROM CAGRILAR INNER JOIN KISILER ON  CAGRILAR.NUMARA=KISILER.CEPTEL 

     

     

    şimdi ben bu sorguyu çalıştırdığımda çağrılar tablomdaki 3. sonuç kişiler tablosundakiyle eşlemediği için gelmiyor ama ben eşleşmese bile adsoyad ceptel kisi id gibi alanların boş çıkmasını istiyorum. kısaca kişiler tablosu önemli değil ama cagrılar tablosunda kişiyle eşleşme bulamasa bile null yada boş çıkmasını istiyorum

     

     


    www.yesilgrow.com - Growshop
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    renegadealien
    renegadealien's avatar
    Üstün Hizmet Madalyası Savaş Madalyası Başarı Madalyası Üstün Hizmet Madalyası Developer Madalyası
    Kayıt Tarihi: 23/Mart/2003
    Erkek

    nessaj bunu yazdı:
    -----------------------------

    birşey sorucam,

     

    şu join gerektiren yerlerde ben selectle çift tablo çekip where de gerekli bilgilerin eşitiğni kontrol ettirerek çift tablo çekiyorum, bunun joinden ne farkı var? misal

     

    select hede.bilgi hede,hodo where hede.id = hodo.id and hede.isim = 'mehmet'

     

    tarzı


    -----------------------------

    Join işlemi birinci tabloyu tararken, sağdaki tabloyu indexine göre arayarak tek sqlde sonucu döndürür.

    İçi içe sql işlemi birinci sorguyu tamamen bitirdiğinde ikinci sqle geçer

    Dolayısıyla birinde 1 sql calışırken diğerinde 2 sql calışıyor


    10.05.2013 tarihli google arama sonucu : Aradığınız - "herşeyin hayırlısı rampanın bayırlısı" - ile ilgili hiçbir arama sonucu mevcut değil. Kendi özlü sözümdür, kaynak belirterek kullanınız.
Toplam Hit: 1482 Toplam Mesaj: 10