请教一个多表count()的问题。
zxywd 2011-03-18 03:18:39 各位下午好,小弟最近在做自己的毕业论文,遇到了一个棘手的问题。就是通过多表count()来统计某个版块中帖子总数和回帖总数以及版主。
有四个表:user表,board表,post表,reply表
select count(post.post_id) from post where post.board_id=1
得到如下结果:
count(post.post_id)
3
select count(reply.reply_id) from reply where reply.board_id=1
得到如下结果:
count(reply.reply_id)
6
但是:
SELECT board.name, count( post.post_id ) , count( reply.reply_id ) , user.username
FROM board
INNER JOIN post ON board.board_id = post.board_id
INNER JOIN reply ON board.board_id = reply.board_id
LEFT JOIN user ON board.admin_id = user.user_id
WHERE board.board_id =1
确得到如下结果:
name count( post.post_id ) count( reply.reply_id ) username
PHP技术专区 18 18 zxywd
为什么count(post.post_id)和count(reply.reply_id)都是18呢?
怎么解决这个问题?谢谢各位。