0

我正在尝试创建一个查询来查找我的哪些朋友有帖子供我在我的帖子提要中显示。这是我所拥有的: 1. 我保存朋友的表 2. 我保存帖子的表。例子:

TABLE FRIENDS

ID   USER   FRIEND
1     me     chris
2     me     george
3     me     john

等等

TABLE POSTS

ID   MESSAGE   USER      DATETIME
1    lala       john      2013-15-03 17:27:01
2    lala       george    2013-15-02 17:02:01
3    lala1      george    2013-16-03 13:28:01
4    lala1      john      2013-21-05 19:27:01
5    lala2      john      2013-30-08 17:27:01

等等...我在这个表中有超过 200 行

因此,Feed 的结果应如下所示:

5    lala2      john      2013-30-08 17:27:01
4    lala1      john      2013-21-05 19:27:01
3    lala1      george    2013-16-03 13:28:01
1    lala       john      2013-15-03 17:27:01
2    lala       george    2013-15-02 17:02:01

查询应该是什么样的?

任何帮助表示赞赏。谢谢。

4

1 回答 1

0

实际上这是错误的设计,您需要一个每个用户都有 id 的用户表和一个只包含 id 的朋友表,但在这种情况下,您可以这样做:

首先,在帖子表中添加一个外键,

所以你可以知道哪条消息是给谁的,所以它看起来像这样:

TABLE POSTS

ID   MESSAGE   USER       TO      DATETIME
1    lala       john      me    2013-15-03 17:27:01
2    lala       george    me    2013-15-02 17:02:01
3    lala1      george    me    2013-16-03 13:28:01
4    lala1      john      me    2013-21-05 19:27:01
5    lala2      john      me    2013-30-08 17:27:01

那么查询将是:

select * from friends f join posts p on f.user=p.to
于 2013-05-04T01:19:28.797 回答