gpt4 book ai didi

mysql - 需要 MySQL 选择查询帮助

转载 作者:行者123 更新时间:2023-11-29 13:19:04 25 4
gpt4 key购买 nike

我目前有一个网络应用程序,用户可以在其中分享帖子并与其他用户联系。我将每个帖子存储在名为“posts”的表中,并将用户之间的所有关系存储在名为“relations”的表中

“帖子”的结构是:

+-------------+-----------+---------+------------+----------------+
| post_id | user_id | text | date | privacy |
+-------------+-----------+---------+------------+----------------+
| 1 | 4 | Hello | 1/13/2014 | 2 |
+-------------+-----------+---------+------------+----------------+

Privacy can either be 1 or 2

“关系”的结构是:

+-------------+-----------+------------+------------+
|rel_id | sender | recipient | status |
+-------------+-----------+------------+------------+
| 1 | 17 | 4 | 1 |
+-------------+-----------+------------+------------+

Status can either be 1 or 2

现在,我想要一个类似“新闻源”的页面,用户可以在其中看到他们的好友(状态 = 2)或关注者(状态 = 1)的所有帖子。但我在查询时遇到了麻烦。我知道如何执行简单的选择查询,但我认为这是不可能的。

因此,我想从“帖子”表中选择所有帖子,其中“user_id”与“关系”表中的“收件人”相同,其中发件人也等于“17”(我要使用变量)。现在最重要的是,如果“关系”中该行的状态为“1”并且“帖子”行中的“隐私”为“2”,则跳过该帖子。

我该如何编写这个查询?

最佳答案

使用joins

SELECT * FROM `posts` 
join `relations` on `recipient` = `user_id`
WHERE `status` = 2

关于mysql - 需要 MySQL 选择查询帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21096843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com