我是新来的,使用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
的朋友的消息时,这就是我需要的输出