tags:

views:

34

answers:

2

hey guys

im using a while loop to show my latest forum topics and count some fields

I'm trying to do it in one query and here is my code :

  SELECT t.*,p.*,
       SUM(t.topic_approved='1') AS Amount_Of_Topics,
       SUM(t.topic_views) AS Amount_Of_Topic_Views,
       SUM(t.topic_replies) AS Amount_Of_Topic_Replies, 
       SUM(p.post_approved ='1') AS Amount_Of_Posts
    FROM  bb3topics t left join  bb3posts p ON t.topic_id=p.topic_id
    ORDER BY t.topic_last_post_id DESC LIMIT 10

problem :

this code shows only one forum topic and not the rest

is there anything wrong with my query code ?!

+3  A: 

Yes.

SUM is always used with GROUP BY clause

Salil
That is not true. It is not *always* used with `GROUP BY`. But in this case it is indeed what the OP needs.
Felix Kling
nice group by did the trick
Mac Taylor
+1  A: 

Yes you are missing GROUP BY

G-Rajendra