• 20-12-2019, 14:47:52
    #1
    Aşağıda verdiğim class tablosundaki classname'leri listelemek istiyorum, fakat karışık bir sorgu var, çözemedim.

    cc tablom: https://prnt.sc/qdiq2n
    class tablom: https://prnt.sc/qdiq9c

    Kullanıcı 2 seçim yapiyor;
    Dayid:
    Timeid:

    Örnek veriyorum, dayid'ye 1 girdi, timeid'ye 6 girdi;

    Cc tablosunda kullanıcının girmiş olduğu dayid 1 , timeid 6 olan satırın courseid'si ve classid'si de doluysa classname'leri listelemesin

    Yani kullanıcı cc tablosunda dayid ve timeid değerlerini arattığında, aynı satırda classid'si class tablosundaki id ile hiçbir şekilde eşleşmiyorsa classname'leri listelesin. Biraz karışık bir sorgu sanırım işin içinden çıkamadım, yardımcı olursanız sevinirim
  • 20-12-2019, 15:30:25
    #2
    Bu mantıkla ilerleyebilirsiniz. r10 sql kod yazmayı engelliyor sanırım, ondan resim olarak attım.
    Doğru anladıysam subquery yazarak çözebilirsiniz.

    Eğer farklı birşeyse sql de join kavramını araştırabilirsiniz.
  • 20-12-2019, 17:01:29
    #3
    coder63 adlı üyeden alıntı: mesajı görüntüle
    Bu mantıkla ilerleyebilirsiniz. r10 sql kod yazmayı engelliyor sanırım, ondan resim olarak attım.
    Doğru anladıysam subquery yazarak çözebilirsiniz.

    Eğer farklı birşeyse sql de join kavramını araştırabilirsiniz.
    Çok tesekkurler hocam oldu, bir şey daha sormak istiyorum,



    Alıntı

    SELECT c.capacity, f.name, c.classname from class c inner join faculty f on f.id=c.facultyid WHERE c.id NOT IN ( SELECT classid from cc where dayid=$dayid and timeid=$kactabasliyor) and c.capacity>=$search_value
    Yukarıdaki sorgu ile bu listeyi aliyorum: https://prnt.sc/qdl3z9

    En sağdaki extension number kısmına da, users tablomdaki extensionnumber kısmını almak istiyorum.

    Faculty tablom bu şekilde. Fakülteye göre extension number'ı çekmek istiyorum.

    Böyle bir sorgu yazmak mümkün mü acaba?
  • 20-12-2019, 17:13:11
    #4
    Tek sorguda 4 tablo üzerinde sorgu yapmak istiyorsunuz. Performans açısından nasıl olur bilemiyorum.

    Şuanda müsaid değilim fakat yol gösterici olması için sql sorgunuzu 2 parça olarak tasarlamanızı tavsiye edebilirim.
    İlk parçada bu verileri alan kısım olur , ikinci parçada ise users tablosundaki extensionnumber alanını alırsınız.
    Union ile 2 sorguyu birleştirebilirsiniz veya duruma göre farklı bir yol denenebilir.