我有一个帖子表和一个类别表,我想要的是选择特定类别的帖子.问题是类别存储在另一个表而不是posts表中,这是示例:
帖子
id title body
---------------------------
125 Some title Blah blah
类别
postid category
----------------
125 politic
我希望在单个查询中通过示例获取政治类别中的帖子,该怎么办?
解决方法:
采用:
SELECT p.id,
p.title,
p.body
FROM POSTS p
JOIN CATEGORIES c ON c.postid = p.id
WHERE c.category = 'politic'
我对您的CATEGORIES表的问题是将类别值存储为字符串意味着数据未规范化 – 您应该使用CATEGORY表:
类别
> category_id(主键,auto_increment)
> category_description
…并使用CATEGORIES表中的category_id值:
类别
> category_id(主键,CATEGORY.category_id的外键)
> post_id(主键,POSTS.postid的外键)
标签:php,sql,mysql,join
来源: https://codeday.me/bug/20191002/1844362.html