使用MySQL select语句

时间:2012-04-25 19:44:04

标签: php mysql

我想根据登录用户关注的人选择用户的帖子。我需要做什么?如何使用两个不同的表和一个SELECT语句?我甚至不知道从哪里开始。

我有3张桌子: 用户 帖子 追随者

感谢。

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条件。

假设您有两个表:

  • 具有列的用户:user_id,user_name,online_state
  • 包含列的帖子:post_id,user_id(发布此帖子的用户),标题,消息

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之后