Mysql
 sql >> Base de données >  >> RDS >> Mysql

Interroger 2 tables en une seule requête

Utiliser :

SELECT p.id,
       p.title, 
       p.body
  FROM POSTS p
  JOIN CATEGORIES c ON c.postid = p.id
 WHERE c.category = 'politic'

Le problème que j'ai avec votre table CATEGORIES est que le stockage de la valeur de la catégorie sous forme de chaîne signifie que les données ne sont pas normalisées - vous devriez plutôt avoir une table CATEGORY :

CATÉGORIE

  • category_id (clé primaire, auto_increment)
  • category_description

...et utilisez le category_id valeur dans les CATEGORIES tableau :

CATÉGORIES

  • category_id (clé primaire, clé étrangère vers CATEGORY.category_id)
  • post_id (clé primaire, clé étrangère vers POSTS.postid)