繁体   English   中英

使用MySQL select语句

[英]Using the MySQL select statement

我想根据登录用户关注的对象从用户中选择帖子。 我该怎么办? 如何通过一个SELECT语句使用两个不同的表? 我什至不知道从哪里开始。

我有3个表格:用户发布关注者

谢谢。

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

由于您没有提供字段名称,因此我不得不对其进行补全。

我会按照Quassonoi在他的答案中建议的那样使用Join查询,如果您想尝试其他解决方案,则可以使用类似这样的子查询来完成

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)

使用JOIN http://dev.mysql.com/doc/refman/5.0/en/join.html从两个表中选择

基本上,您从两个表中选择并定义JOIN条件。

假设您有两个表:

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

选择来自用户的p.title,p.message u JOIN帖子p ON u.user_id = p.user_id W.E.online_state ='online'

加入条件应该在ON之后,在WHERE之后是非加入条件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM