2013-05-04 49 views
0

我想创建一个查询来查找我的哪些朋友有帖子让我在帖子上显示它。这是我的:1.一张桌子,我救了我的朋友2.一张桌子,我救了我的帖子。例如:SQL查询来检查我的哪些朋友表有一个帖子为我

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行

因此饲料应如下结果:

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 

查询应该是什么样子?

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

+0

每个用户在数据库中都有自己的表吗? – Ejaz 2013-05-04 01:06:37

+0

每个用户在数据库中都没有自己的表格 – stefanosn 2013-05-04 01:07:40

+0

我认为标题有点模糊 – Ejaz 2013-05-04 01:09:06

回答

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