有如下四个表
版块(board):版块id(id),版块标题(title),
帖子(topic):帖子id(id),所属版块id(bid),发帖人id(uid),帖子标题(title),发帖时间(time)
用户(user):用户id(id),用户姓名(name)
回复(reply):回复id(id),帖子id(tid),回帖人id(uid),回复内容(context),回复时间(time)现知道版块id=5,用一个SQL查询语句查出该版块下帖子的帖子标题,发帖人姓名,发帖时间,回复数量,最后回复人姓名,最后回复时间,请各位大侠们帮小弟解决此问题,不胜感谢!!!

解决方案 »

  1.   

    select t.title,t.uid,t.time,
    (select count(*) from reply where tid=t.id) as `回复数量`,
    (Select name from user Inner Join reply where reply.uid=user.id where reply.tid=t.id order by reply.time desc limit 1) as `最后回复人姓名`,
    (Select Max(time) from reply where tid=t.id) as `最后回复人姓名`,
    form topic t
    where t.bid=5
      

  2.   

    select * from board a
    left join topic b on a.id=b.bid
    left join `user` c on b.uid=c.id
    left join (select tid,count(*) from reply group by tid) d on b.id=d.tid
    left join (select * from reply where not exists(select 1 from reply where a.tid=tid
    AND A.time<time)) E ON b.id=E.tid where a.id=5