我的数据库中有两个表:论坛和评论。
论坛 = 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评论)和评论(如果有的话)。
有人可以帮我这个吗?谢谢!
答案 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