• 11-12-2012, 11:41:31
    #1
    Merhaba arkadaşlar, inner join kullanarak iki tabloyu birbirine bağlıyorum ancak istediğim sonuca ulaşamadım bir türlü.

    Yapmak istediğim şey şu :

    2 adet tablom var. Yapılan Testler ve Sorular adında. Ekrana soruları yazdırmaya çalışıyorum ancak belli koşullar ile. Koşullarım şunlar, Yapılan Testler tablosundaki soru id sine ve bölüm id sine karşılık gelen soruları listele. Ancak bölüm idsine göre listelemiyor bir türlü. kullandığım sorguyu aşağıda yazdım. yardım edecek arkadaşlara şimdiden teşekkürler.

    $soru_sorgu = mysql_query("SELECT Cyapilan_testler.*, sorular.soru_adi, sorular.soru_no, sorular.bolum_id FROM yapilan_testler INNER JOIN sorular ON yapilan_testler.soru_id = sorular.soru_id");
    bu sorguyu yazınca sorular listeleniyor ancak bölüme göre ayırmıyor.Onun içinde şöyle bi ekleme yaptım ama olmadı.

    $soru_sorgu = mysql_query("SELECT Cyapilan_testler.*, sorular.soru_adi, sorular.soru_no, sorular.bolum_id FROM yapilan_testler INNER JOIN sorular ON yapilan_testler.soru_id = sorular.soru_id INNER JOIN sorular ON yapilan_testler.bolum_id = sorular.bolum_id");
  • 11-12-2012, 13:34:49
    #2
    Üyeliği durduruldu
    bu ne ya 2.kodu anlamadım ben 2 kere aynı tabloyu inner join mi yaptın ?
    group by araştır..
  • 11-12-2012, 14:07:32
    #3
    RobinsonCrusoe adlı üyeden alıntı: mesajı görüntüle
    bu ne ya 2.kodu anlamadım ben 2 kere aynı tabloyu inner join mi yaptın ?
    group by araştır..
    denedim olur mu diye. Zaten söylediğiniz şeyin group by ile alakası yok. where ile diğer veriler ile sorgulatınca sorun çözüldü. group by neden kullanılsın burada ki.
  • 11-12-2012, 14:12:09
    #4
    Üyeliği durduruldu
    arada bir group by ı kullanmassan hata verir, şahsen bende öyle
  • 11-12-2012, 14:54:36
    #5
    Üyeliği durduruldu
    yaptıysan sorun yok (: yaptığın kodu koyarsan iyi olur aynı hatayı alıp konuya umutla girip boş çıkanlar olabilir
  • 11-12-2012, 15:17:34
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    İlk olarak with(nolock) kullanmanı tavsiye ederim.
    Eğer birisi kazara veya raporlama gibi işlemlerde sorular tablonu kitlerse başkası sittin sene ulaşamaz o tabloya.
    İkincisi inner join değil burda senin ihtiyacın olan left join.
    Ve 2. sorgunda 2 kere bağlamana gerek yok, devamında ' and yapilan_testler.bolum_id = sorular.bolum_id' şeklinde ekleyebilirsin.
  • 11-12-2012, 15:21:53
    #7
    rob33n adlı üyeden alıntı: mesajı görüntüle
    İlk olarak with(nolock) kullanmanı tavsiye ederim.
    Eğer birisi kazara veya raporlama gibi işlemlerde sorular tablonu kitlerse başkası sittin sene ulaşamaz o tabloya.
    İkincisi inner join değil burda senin ihtiyacın olan left join.
    Ve 2. sorgunda 2 kere bağlamana gerek yok, devamında ' and yapilan_testler.bolum_id = sorular.bolum_id' şeklinde ekleyebilirsin.
    teşekkürler bilgi için. anlattığına çok benzer şekilde sorunumu halletmiştim. ekstra açıklamaların için teşekkürler.