用于显示登录用户和以下帖子的 Mysql 连接查询

我为正在处理的项目创建了下表;

数据库图像

我需要有关如何编写一个 mysqli 连接查询的帮助,该查询选择由 USER_ID 1 创建的帖子以及 USER_ID 1 正在关注的所有用户(即 FOLLOWING_USER_ID 2、3 和 4)。当前,登录的用户 ID 保存在会话中$id = $_SESSION['id'];

SELECT * FROM users_post WHERE by_user_id = $id (SELECT following_user_id FROM users_following WHERE user_id = $id) AND by_user_id = following_user_id

上面的代码不起作用 :) 但我认为代码应该是这样的。我真的需要你的帮助来解决这个问题,因为我不太擅长 Mysql 连接。

所需的输出(如果按 DATE_CREATE desc 排序)和 USER_ID 1 所需的输出图像


catspeake
浏览 104回答 1
1回答

隔江千里

听起来您想列出表users_post中给定用户的所有记录。如果这是正确的,这就是您的查询应该是这样的:by_user_idfollowing_user_idusers_followingSELECT `up`.* FROM `users_post` AS `up`JOIN `users_following` AS `uf` ON `uf`.`following_user_id` = `up`.`by_user_id`WHERE `uf`.`user_id` = 1GROUP BY `up`.`id` 如果您还想包含users_post给定用户的帖子,这就是您的查询:SELECT `up`.* FROM `users_post` AS `up`JOIN `users_following` AS `uf` ON `uf`.`following_user_id` = `up`.`by_user_id`WHERE (`uf`.`user_id` = 1    OR `up`.`by_user_id` = 1)GROUP BY `up`.`id` 如果这不是您想要的结果集,请提供更多说明,我会尽力帮助您。希望这可以帮助!
打开App,查看更多内容
随时随地看视频慕课网APP