2012-01-06 62 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