• 21-09-2019, 21:20:02
    #1
    Merhabalar :
    Öncelikle emeğiniz için teşekkür ederim.İnner join ile iki tablo arasındaki eşit olan id deki sutunlari almak istiyorum sorgu yazıyorum ancak eşit olanları değil hepsini yazdırıyor.

    Yapmak istediğim kasa_gelir tablomdaki kategori_id ile kategori tablomdaki odeme_yapan_id değerleri eşit iste , bana eşit olanları kasa_gelir tablosuna göre sıralasın.

    Kullandıgım kod
    
    
    <?php
    
    
    
    
    
    $kasa_gelirsor=$db->prepare("SELECT * FROM kasa_gelir INNER JOIN kategori ON kasa_gelir.odeme_yapan_id=kategori.kategori_id WHERE id order by id desc ");
    $kasa_gelirsor->execute();
    
    
    
    
    while($kasa_gelircek=$kasa_gelirsor->fetch(PDO::FETCH_ASSOC)) {
    
    $kasa_gelir_id=$kasa_gelircek['odeme_yapa_id'];
    
    ?>
    kategori
    • kategori_id
    • kategori_ad
    • kategori_unvan
    • kategori_unvan_id
    • kategori_adres
    • kategori_tel
    • kategori_bakiye
    • kategori_durum
    • kategori_seourl
    kasa_gelir
    • id
    • odeme_yapan_id
    • odemetur
    • odeme_aciklama
    • odeme_miktar
    • odeme_tarih
    • durum
  • 21-09-2019, 21:27:42
    #2
    ictaysi adlı üyeden alıntı: mesajı görüntüle
    WHERE id
    Sorgundan bunu çıkarıp dener misin?
    olmuyor hocam malesef
  • 21-09-2019, 21:30:03
    #3
    Sizin aradığınız farklı birşey sanırım. Inner Join'in ne işe yaradığı https://www.yusufsezer.com.tr/sql-inner-join/ burada açıklanmış.
  • 21-09-2019, 21:41:39
    #4
    Dener misiniz?

    SELECT kg.* FROM kasa_gelir kg INNER JOIN kategori k ON kg.odeme_yapan_id=k.kategori_id order by kg.id desc
  • 21-09-2019, 21:43:32
    #5
    firatkaya adlı üyeden alıntı: mesajı görüntüle
    Dener misiniz?

    SELECT kg.* FROM kasa_gelir kg INNER JOIN kategori k ON kg.odeme_yapan_id=k.kategori_id order by kg.id desc
    Malesef Hocam
  • 21-09-2019, 21:54:37
    #6
    <?php
    $kasa_gelirsor=$db->query("SELECT kg.* FROM kasa_gelir kg INNER JOIN kategori k ON kg.odeme_yapan_id=k.kategori_id order by kg.id desc");
    foreach ($kasa_gelirsor as $kasa_gelircek) {
    echo $kasa_gelircek['odeme_yapan_id'];
    }
    ?>
  • 21-09-2019, 22:00:43
    #7
    Inner Join yerine left Join kullanın sorgunuz da sadece inner i değiştirin
  • 21-09-2019, 22:13:07
    #8
    necmettin70 adlı üyeden alıntı: mesajı görüntüle
    Inner Join yerine left Join kullanın sorgunuz da sadece inner i değiştirin
    Malesef olmadı hocam



    firatkaya adlı üyeden alıntı: mesajı görüntüle
    <?php
    $kasa_gelirsor=$db->query("SELECT kg.* FROM kasa_gelir kg INNER JOIN kategori k ON kg.odeme_yapan_id=k.kategori_id order by kg.id desc");
    foreach ($kasa_gelirsor as $kasa_gelircek) {
    echo $kasa_gelircek['odeme_yapan_id'];
    }
    ?>
    bu yöntemde olmadı hocam
  • 21-09-2019, 22:16:27
    #9
    SELECT * FROM kasa_gelir LEFT JOIN kategori ON kasa_gelir.odeme_yapan_id=kategori.kategori_id order by id desc
    Bu şekilde denediğinizde ne çıktı verdi?