如何创建按用户返回论坛的查询

时间:2014-04-05 05:44:19

标签: sql database select

我的数据库中有两个表:论坛和评论。

论坛 = id,user_id,message;

评论 = id,user_id,forum_id,评论;

通过此查询,我可以从用户创建的论坛中返回评论:

SELECT f.id as f_id, f.user_id as f_user_id, f.message,

       c.id as c_id, c.user_id as c_user_id, c.comment FROM

       forum f, comment c where

       c.forum_id=f.id and f.user_id= ? order by f.id;

但是,没有评论的论坛不会显示在结果集中。 我想准备一个查询,返回一个用户的所有论坛(有/ not_have评论)和评论(如果有的话)。

有人可以帮我这个吗?谢谢!

1 个答案:

答案 0 :(得分:1)

LEFT JOIN关键字返回左表(forum_submission)中的所有行,右表中的匹配行(submission_comment)。没有匹配时,右侧的结果为NULL。 资料来源:http://www.w3schools.com/sql/sql_join_left.asp

   SELECT f.id as f_id, f.message, c.id as c_id, c.user_id as c_user_id, c.comment 
   FROM forum_submission f
   LEFT JOIN submission_comment c
   ON c.forum_id=f.id 
   WHERE f.user_id= ? 
   Order by f.id