从两个表中过滤寄存器

时间:2014-06-09 13:05:14

标签: mysql sql

我是新来的,使用PHP / MySQL编程。我需要在我的数据库中进行下一次咨询。

我有两张桌子:

- 朋友具有价值的用户之间的第一个关系" 2" 列如下:

id  |  Username1  |  username2  |  relation

- 秒是用户发布的消息 列如下:

id  |  username  |  message

id是"主键"具有自动增量属性。 (两者都有)

我想按照帖子的顺序(最近的第一个)显示一个用户的朋友的所有消息

所以我需要选择user1和user2是朋友的最大值id,但我需要选择" messages表的最大值"并检查他们是否是"关系表中的朋友"

我知道下一个不是语法,但我需要这样的东西:

  SELECT message
    FROM message_table
   WHERE MAX(id) AND (  FROM relations
                       WHERE (   (   user1="randomuser" 
                                  OR user2="randomuser") 
                              AND relation="2")
                     )
ORDER BY id DESC

我知道那是什么问题......但是我需要两个过滤器来显示发布顺序中的所有朋友消息..那么如何在一个表中显示一个表中的一个条件的寄存器和另一个表中的第二个条件表

编辑:示例:

id  |  Username1  |  username2  |  relation
1      Randomuser1   Randomuser2     2
2      Randomuser1   Randomuser3     0
3      Randomuser1   Randomuser5     2

id  |  Username  |  message  
1      Randomuser1   Hi this is a random message?    
2      Randomuser2   I don"t like your message    
3      Randomuser5   Sure, is a bad message

所以我想按照发布顺序显示randomuser1的朋友的所有消息

首先,用户的Randomuser1的朋友是 Randomuser2和Randomuser5(" 2"意思是他们是朋友) 所以我想按照发布顺序显示他们朋友的所有消息(按第二表的id顺序(message_table))

所以我需要一个输出:

id  |  Username  |  message  
3      Randomuser5   Sure, is a bad message
2      Randomuser2   I don"t like your message    

当我选择用户Randomuser1

的朋友的消息时,这就是我需要的输出

0 个答案:

没有答案