搜索数据库,同时过滤掉没有图像的帖子

时间:2014-11-28 15:18:39

标签: php mysql sql database

我有3个表,就像这样(只发布相关信息):

USER:
-----
user_id

POST:
----
post_id
user_id

IMAGE:
----
image_id
post_id

我要做的是,允许用户搜索帖子,他们可以选择帖子结果是否包含图片。

所以它会像:

if ($images_selected) { $SQL_TO_FIND_POSTS_WITH_IMAGES; } else { $SQL_TO_FIND_POSTS_WITHOUT_IMAGES; }

我很难理解如何做到这一点。

无法更改任何表结构,因为它必须是这样的。

1 个答案:

答案 0 :(得分:0)

这应该是你的开始

select * from
post pp
join user uu on p.user_id=uu.user_id
left join image mg on mg.post_id=pp.post_id

上面给出了所有帖子,无论图像与否

- 要排除图片,请添加以下内容

where mg.post_id is null

不带表别名的查询

select * from
post 
join user on post.user_id=user.user_id
left join image on image.post_id=post.post_id