首页 新闻 会员 周边

数据存放在两个表中的展示问题

0
悬赏园豆:20 [已解决问题] 解决于 2014-09-10 13:26

  比方我有一个用户发表心情的一个表 这个表的字段是:

userid(用户id) replyNum(评论数)CreateTime(发表时间)Content(心情内容).....

我展示我关注的人的说说需要展示出他们的头像.名字,  时间 .内容. 评论数等 

但是这个心情表里只有用户的id  如果我一页展示20条心情记录  这20条心情来自多个用户  我还要去用户user表里把这多个用户他们名字和头像分别查找出来 然后展示到我的心情列表里这样一来就需要多次查询  我觉得可能会看着不那么利索

首先要查找这20条心情的记录   然后找到他们的id 拼起来 在去用户表里面根据这些id找到他们

总感觉这样的做法很不好做因为一次要展示的数据在两个表里 也就是在两个model里感觉很麻烦 有什么好的解决方法吗?

小不点点的主页 小不点点 | 初学一级 | 园豆:152
提问于:2014-09-06 21:09
< >
分享
最佳答案
0

别费脑筋了,2种实现方案,1:用视图全查出来,2:前端使用ajax异步加载

收获园豆:20
GisClub | 菜鸟二级 |园豆:330 | 2014-09-10 09:38
其他回答(3)
0

你的model没有关联吗?如果有,(比如EF)里,那就很简单。

即便是前端MODEL,你都可以把这些定义进去或连接上。而再查询的时候,还可以使用两张表的关联达成目的。

你这个需求是最简单的需求了,如果遇到更复杂的需求的话~~~你会更头痛的。

519740105 | 园豆:5810 (大侠五级) | 2014-09-06 21:18
1

这个和你的model没啥具体的关系吧。直接用连接查询就能拿到你需要的数据。

select top 20 t2.* from 我的关注表  t1

join 心情表 t2 on t1.UserId=t2.userid

order by t2.CreateTime desc

幻天芒 | 园豆:37175 (高人七级) | 2014-09-07 22:53
0

先JOIN后取数据,一次取出,不要多次去取,这样会增加数据库压力。

要尽量减少对数据库的访问次数。

Alex_QY1987 | 园豆:1888 (小虾三级) | 2014-09-09 15:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册