şöyle bir senarya yazıyorum.
resimler diye bir tablom var.
ve yazılar diye ikinci bir tablom var.
Çok güzell..
resimlerin sütünları şöyle
resim_id -- yazi_id - resim
yazilar sütünüm da şöyle:
yazi_id ---- baslik --- yazi
istediğim şey tüm yazıları listeleyeceğim admin panelinde..
listelerken yazılara ait kaç adet resim eklenmişse onun sayısını göstermek istiyorum admin panelinde hali hazırda baslik'a tarihe göre sıralıyorum. ekstra olarak resim sayısına göre de sıralamam gerekiyor.
iki tabloyu birleştirmem gerektiğini join kullanmam gerektiğini biliyorum ama mevcut sql sorguda order by where kullanımı çok biraz karıştı.
join kullanarak iki tabloyu birleştireceğim ama
10
●93
- 12-06-2021, 15:00:13Birleştirme yapmana gerek yok tek ihtiyacın sayı ise SQL sorgusunun sütun kısmında sorgu tetikleyebilirsin
select yazi,baslik,
( select count( resim_id ) from resimler where yazi_id = yazilar.yazi_id) as resimsayisi
from yazilar where istediğin kosul
Bu şekilde bir deneyin işinizi görecektir tablo birleştirme den hızlı çalışır - 12-06-2021, 15:51:21SELECT (SELECT COUNT(resim_id) from resimler where yazi_id = yazilar.yazi_id) as resimsayisi from yazilarWRaNGLeR adlı üyeden alıntı: mesajı görüntüle
bir tek bu şekilde sorgu çalışıyor hocam resim sayısını veriyor fakat ekrana başka hiç birşey gelmiyor. select * yazarsam yazıdaki tüm sütünlar gelir diye düşündüm ama gelmedi hata verdi. yazilar sütünündakilerin tamamı getirip ek olarak bir sütünda da toplam resim sayısını göstermem gerekiyor - 12-06-2021, 16:15:50malesef hocam o şekilde kullanmıştımWRaNGLeR adlı üyeden alıntı: mesajı görüntüle
SELECT baslik (SELECT COUNT(resim_id) from resimler where yazi_id = yazilar.yazi_id) as resimsayisi from yazilar - 12-06-2021, 19:44:55WRaNGLeR adlı üyeden alıntı: mesajı görüntülehocam başka bi tavsiyeniz varmı?buddy adlı üyeden alıntı: mesajı görüntüle
- 13-06-2021, 02:48:17
select yazilar.yazi_id, yazilar.yazi_baslik, count(*) yazi_resim_sayisi from yazilar left join resimler on yazilar.yazi_id = resimler.yazi_id group by 1,2