我有两个表:帖子和评论。一篇文章有很多评论。
通常我想检索所有帖子以及他们可能拥有的任何评论。我使用左连接执行此操作,如图所示:
select p.post_id, p.content_status, p.post_title, c.comment_id,
c.content_status as comment_status
from post p
left join comment c on p.post_id = c.post
现在我想排除状态不是“已批准”的任何帖子或评论。我可以毫无问题地约束帖子表,并且仍然返回没有评论的帖子。不过,一旦我限制了评论表,我就不再检索没有评论的帖子。
这是有问题的查询:
select p.post_id, p.content_status, p.post_title, c.comment_id,
c.content_status as comment_status
from post p
left join comment c on p.post_id = c.post
where p.content_status = 'Approved' and c.content_status = 'Approved'