2012-01-06 107 views
1

說我有這個疑問SQL連接和COUNT

SELECT ft.*, m.* 
    FROM forum_topics ft 
    INNER JOIN members m ON ft.author = m.id 
    WHERE ft.forum = '$forum' 
    ORDER BY ft.lastpost DESC 

我也想從表forum_replies其中id = ft.id獲得行計數在。 我怎麼能這樣做?

+0

耶MySQL的:d – user1022585 2012-01-06 18:15:20

回答

2

根據您的數據庫實現這可能工作:

SELECT ft.*, 
     m.*, 
     (SELECT count(1) 
      FROM forum_replies fr 
      WHERE fr.id = ft.id) AS nr_of_replies 
    FROM forum_topics ft 
    INNER JOIN members m ON ft.author = m.id 
    WHERE ft.forum = '$forum' 
    ORDER BY ft.lastpost DESC 

HTH

0
SELECT ft.*, m.*, fr.ReplyCount 
FROM forum_topics ft 
INNER JOIN members m ON ft.author = m.id 
inner join (
    Select Id, Count(*) as ReplyCount 
    from forum_replys 
    group by id 
) as fr 
on ft.Id = fr.Id 
WHERE ft.forum = '$forum' 
ORDER BY ft.lastpost DESC