MySQL de IFNULL metodu
by admin on Eylül 22, 2010
Böyle de güzel birşey varmış.Lazım oldukça öğrenme geleneği
Bir sorgum var, işte bu sorgu bilmem ne alanına göre groupby yapıyor ve o alanın sum ını çekiyor buraya kadar sıkıntı yok.o sum alana göre order by yaptığımızda sıkıntı çıkıyor neden mi mersiniz? Çünkü NULL gelen değerler negatif değerlerin altında kalıyor.Null yerine 0 atmak işimizi çözüyor.İşte tam bu sırada Mysql in o güzel metodu imdadımıza yetişiyor.
Sorgu ve örnek kullanımı aşağıdaki gibidir.
SELECT p.*, f.forum_id, f.forum_name, t.*, u.username, u.username_clean,
u.user_sig, u.user_sig_bbcode_uid, u.user_colour,
IFNULL(SUM( av.vote),0) as post_votes
FROM phpbb_posts p LEFT JOIN phpbb_answer_votes av ON (post_id = av.answer_id)
LEFT JOIN phpbb_topics t ON (p.topic_id = t.topic_id)
LEFT JOIN phpbb_forums f ON (p.forum_id = f.forum_id)
LEFT JOIN phpbb_users u ON (p.poster_id = u.user_id)
WHERE p.post_id IN (14, 12, 11, 10, 9, 8, 7, 6, 5)
AND p.post_approved = 1 GROUP BY (post_id) ORDER BY post_votes DESC
Leave your comment