• 09-01-2018, 11:55:49
    #1
    Şimdi arkadaş ekle sistemim var ekli arkadaşları göstermek istiyorum ama bu listede sorun yaşıyorum. Şimdi hem ekleyen hem eklenen olabiliyor kişi bunun için sql de kendisinin çıkmaması lazım bunu şu sorgu ile yapmaya çalıştım ama kendisini veriyor bunu nasıl çözerin kendi id 1

    SELECT u.user_name as ARKADAS From arkadas as ar LEFT join user as u on u.user_id = ar.ark_takipeden LEFT join user y on y.user_id = ar.ark_takipedilen Where (ar.ark_takipeden = 1) or (ar.ark_takipedilen = 1)
  • 09-01-2018, 12:12:41
    #2
    SELECT u.user_name as ARKADAS From arkadas as ar LEFT join user as u on u.user_id = ar.ark_takipeden LEFT join user y on y.user_id = ar.ark_takipedilen Where (ar.ark_takipeden = 1 or ar.ark_takipedilen = 1) and u.user_id<>1
    şeklinde 1 numaralı id ye eşit olmayacak diyebilirsiniz
  • 09-01-2018, 12:15:38
    #3
    O Zaman Eksik veriyor sorguda tek tablodakileri hesaplıyor burada iki tablo var takipeden takipedilen her ikisindede kendine eşit olmayanları vermeli.

    by_ala adlı üyeden alıntı: mesajı görüntüle
    SELECT u.user_name as ARKADAS From arkadas as ar LEFT join user as u on u.user_id = ar.ark_takipeden LEFT join user y on y.user_id = ar.ark_takipedilen Where (ar.ark_takipeden = 1 or ar.ark_takipedilen = 1) and u.user_id<>1
    şeklinde 1 numaralı id ye eşit olmayacak diyebilirsiniz




    yokmu kimse arkadaşlar ?
  • 09-01-2018, 15:23:54
    #4
    SELECT u.user_name as ARKADAS From arkadas as ar LEFT join user as u on u.user_id = ar.ark_takipeden and ark.takipedilen=1 LEFT join user y on y.user_id = ar.ark_takipedilen and ark.takipeden=1

    şeklinde bir sorguyla takip u isimli user tablonda ve y isimli user tablonda kısıtlama yapabilirsin. Bu tarzlada çözemezsen tablonu biraz daha detaylı paylaşmanı rica edeceğim. Tabi dilersen..
  • 09-01-2018, 15:30:44
    #5
    Şimdi ark_takipeden tablosunda
    25 , 1, 16 id leri var
    ark_takipedilen tablosunda ise
    1,147,1 var
    yaptığım sorguda bana 25,147,16 gelmesi lazım.
    SELECT u.user_name as ARKADAS From arkadas as ar LEFT join user as u on u.user_id = ar.ark_takipeden and ar.ark_takipedilen=1 LEFT join user y on y.user_id = ar.ark_takipedilen and ar.ark_takipeden=1
    Yukarıdaki sorguda 147 yerine NULL değer geliyor.


    by_ala adlı üyeden alıntı: mesajı görüntüle
    SELECT u.user_name as ARKADAS From arkadas as ar LEFT join user as u on u.user_id = ar.ark_takipeden and ark.takipedilen=1 LEFT join user y on y.user_id = ar.ark_takipedilen and ark.takipeden=1

    şeklinde bir sorguyla takip u isimli user tablonda ve y isimli user tablonda kısıtlama yapabilirsin. Bu tarzlada çözemezsen tablonu biraz daha detaylı paylaşmanı rica edeceğim. Tabi dilersen..
  • 09-01-2018, 15:33:42
    #6
    SELECT u.user_name as ARKADAS, y.user_name as ARK From arkadas ....

    kalın olarak gösterdiğim yeride eklemelisin ki iki usert tablosundanda alacaksın veriyi bölelikle 147 id sinde arkadas kısmı boş glicek ark kısmı dolu gelicek
  • 09-01-2018, 15:37:23
    #7
    by_ala adlı üyeden alıntı: mesajı görüntüle
    SELECT u.user_name as ARKADAS, y.user_name as ARK From arkadas ....

    kalın olarak gösterdiğim yeride eklemelisin ki iki usert tablosundanda alacaksın veriyi bölelikle 147 id sinde arkadas kısmı boş glicek ark kısmı dolu gelicek
    o zaman ekrana yazdırırken sorun olur tek isimle yazdırmalıyım. u.user_name iki tabloyuda kapsıyor aslına bakarsan.
  • 09-01-2018, 15:52:43
    #8
    örnek olması açısından şu şekilde basit bir paylaşım yapayım.


    SELECT * FROM takip INNER JOIN users ON users.id = takip.takip_eden WHERE takip_eden = '$id' // Takip Ettikleri
    
    SELECT * FROM takip INNER JOIN users ON users.id = takip.takip_eden WHERE takip_edilen = '$id' // Takipçileri
  • 09-01-2018, 16:01:55
    #9
    Burda sorun yok ama ayrı listelemişsiniz ben aynı anda listelemek istiyorum sorunda bundan kaynaklanıyor.

    D62 adlı üyeden alıntı: mesajı görüntüle
    örnek olması açısından şu şekilde basit bir paylaşım yapayım.


    SELECT * FROM takip INNER JOIN users ON users.id = takip.takip_eden WHERE takip_eden = '$id' // Takip Ettikleri SELECT * FROM takip INNER JOIN users ON users.id = takip.takip_eden WHERE takip_edilen = '$id' // Takipçileri