我想根据登录用户关注的人选择用户的帖子。我需要做什么?如何使用两个不同的表和一个SELECT语句?我甚至不知道从哪里开始。
我有3张桌子: 用户 帖子 追随者
感谢。
答案 0 :(得分:0)
SELECT p.*
FROM followers f
JOIN posts p
ON p.author = f.following_id
WHERE f.user_id = $logged_in
ORDER BY
p.post_date DESC
我必须填写你没有提供的字段名称。
答案 1 :(得分:0)
我会使用Quassonoi在他的回答中建议的加入查询,如果你想尝试一个替代解决方案,你可以用这样的子查询做到这一点
SELECT P.PostId,P.Title,P.Body
FROM Post P WHERE P.CreatedById
IN (
SELECT FollowerID from Followers WHERE USER_ID=3
)
将3
替换为当前用户ID。假设您的表结构是这样的。
发表强>
PostId (int)
Title
Body
<强>关注强>
UserId (int)
FollowerId (int)
答案 2 :(得分:0)
使用JOIN从两个表中进行选择 http://dev.mysql.com/doc/refman/5.0/en/join.html
基本上你从两个表中选择并定义JOIN条件。
假设您有两个表:
SELECT p.title,p.message FROM users u JOIN posts p ON u.user_id = p.user_id WHERE u.online_state ='online'
连接条件应该在ON之后,非连接条件在WHERE之后