我为正在处理的项目创建了下表;数据库图像我需要有关如何编写一个 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 所需的输出图像
1 回答
隔江千里
TA贡献1906条经验 获得超10个赞
听起来您想列出表users_post中给定用户的所有记录。如果这是正确的,这就是您的查询应该是这样的:by_user_idfollowing_user_idusers_following
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
GROUP 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`
如果这不是您想要的结果集,请提供更多说明,我会尽力帮助您。
希望这可以帮助!
- 1 回答
- 0 关注
- 77 浏览
添加回答
举报
0/150
提交
取消