一尘不染

在单个查询中查询2个表

sql

我有一个职位表和一个类别表,我想要的是选择特定类别中的职位。问题是类别存储在另一个表中而不是在posts表中,这里是示例:

帖子

id   title       body
---------------------------
125  Some title  Blah blah

类别

postid  category
----------------
125     politic

我想在单个查询中以示例方式获取政治类别中的帖子,怎么办?


阅读 151

收藏
2021-03-17

共1个答案

一尘不染

使用:

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

…并使用表中的category_idCATEGORIES

类别

  • category_id(主键,CATEGORY.category_id的外键)
  • post_id(主键,POSTS.postid的外键)
2021-03-17