日期:2014-05-20  浏览次数:20600 次

大家帮忙分析一个需求
微博系统。
  为了维护好友之间的关系。我用了一张friends表 ,里面有两个字段 myId , friId 
我的做法是:
1、当查看好友动态的时候,先根据自己的id到friends表里面查询到所有myId等于自己id的信息。就得到了所有好友的id
2、根据第一步得到的好友id集合 循环查询所有好友所发布的微博

但是,怎样让这些微博根据发布的时间排序。
查询每个好友发布的微博,都不是在一条sql里面操作的。所以不能用order by 排序。


------解决方案--------------------
为什么不可以联表查询啊。

message代表微博信息表

表中有friId(发表者id)、message(发布的信息内容)、mes_date(发布日期)等字段,其中friId与friends表中的friId是主外键关系,不是也没关系,只要保证两张表中的firid都能对应上就行了

select * from message m where m.friId in (select f.friId from friends f where f.myId='10000') order by m.mes_date desc

不知道我理解的和你需求上面要求的是否一致。