|
|
#1 (permalink) |
|
Üyelik Tarihi: 06.07.2006
Yer: İstanbul
Yaş: 23
Mesaj: 218
|
MySQL - SUM - null
Merhabalar, Oncelikle vaktinizi ayirip okudugunuz icin tesekkur ederim. Asagida gordugunuz kodu kullanarak iki tabloyu birlestirmek suretiyle, ikinci bir tabloda bulunan ortak o_i_id'lere sahip girdilerin o_oy kolonlarini topluyorum. Daha sonra Total yardimiyla bunlari guzelce siraliyorum. Fakat sorun su ki, girdisi bulunmayan icerikler kendi baslarina toplanip girdisi olanlar ayri toplaniyor. sorun o ki, ... 2 1 0 -1 -2 ... seklinde dizildikten sonra girdisi olmayanlar 0 0 0 0 seklinde diziliyorlar en sona. Aklima gelen cozum, her icerik eklendiginde, 0 degerli bir girdi yaratmak oldu ancak bu tabloyu gereksiz doldurmak oluyor. pek de hos bir durum degil. Kod:
SELECT icerikler.*, SUM(oylar.o_oy) AS 'Total' FROM alkis_icerik icerikler LEFT JOIN alkis_oylama oylar ON icerikler.i_id=oylar.o_i_id WHERE icerikler.i_id <> '' AND i_durum='1' GROUP BY icerikler.i_id ORDER BY Total DESC, i_yayin_tarih DESC LIMIT 0,50 Saygilar. Mesaj bgul tarafından 22.08.2008 (17:55) yeniden düzenlendi. |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 06.07.2006
Yer: İstanbul
Yaş: 23
Mesaj: 218
|
Re: MySQL - SUM - null
Sorunu, kodu asagidaki gibi degistirerek cozdum. Aslinda basitmis, buraya tasidigim icin kusura bakmayin ama baskalarinin belki isine yarar...
Kod:
$query=" SELECT icerikler.*, IF(SUM(oylar.o_oy) IS NULL, 0, SUM(oylar.o_oy)) AS 'Total' FROM alkis_icerik icerikler LEFT JOIN alkis_oylama oylar ON icerikler.i_id=oylar.o_i_id WHERE icerikler.i_id <> '' AND i_durum='1' GROUP BY icerikler.i_id ORDER BY Total DESC, i_yayin_tarih DESC LIMIT 0,50"; |
|
|
|
| Sponsorlu Bağlantılar | |
|
Zoque.Forum
Reklam
|
|
Zoque'a hoşgeldiniz!