iki tabloyu birleştirip çoklu sorgu almak
arakadaşlar bildirim sistemi yapıyorum ve uzun zamndır bu sorunu çözemedim
iki tane tablom var
-yorumlar -begeniler
bu tabloları Yorumyapılan veya begenilen kişinin Id sine göre eşitliyorum
örenk olarak
SELECT * FROM yorumlar INNER JOIN begeniler ON yorumlar.kisiId = begeniler.kisiId
buraya kadar tamam ama bu bildirimlerin görülme durumlarına göre çekmek için
tablodaki görülme kolonu için de bunun üzerine bir sorgu oluşturmam gerek
yapamıyorum sürekli hata alıyorum ya da anlamsız veri döndürüyor
WHERE begeniler.kullaniciId = 1 , begeniler.gorulme = 0 yorumlar.gorulme = 0
yukarıdaki kullanım yanlış o yüzden sorun yaşıyorsun :)
aşağıdaki gibi değiştir.
WHERE begeniler.kullaniciId = 1 AND begeniler.gorulme = 0 AND yorumlar.gorulme = 0
WHERE den sonra birden fazla koşul gireceksen AND
veya OR
kullanman gerekir.
AND
ve OR
if kullanımındaki gibi AND
= &&
, OR
= ||
Ek olarak SELECT
kısmında tablolardan neyi çekeceksen tablosuyla birlikte yazmalısınki çakışmasın.
SELECT begeniler.kullaniciId, begeniler.begenenId, yorumlar.yorumYapanId FROM
INNER JOIN
de 2 tablodada kullaniciId = 1
'in verisi olmak zorunda.Birinde o kullanıcıya ait veri var diğerinde yoksa sonuç alamazsın.