sql >> Database >  >> RDS >> Mysql

Selecteer bericht uit twee tag (AND)

Om te controleren of een titel zowel 'category1' als 'category2' heeft, kun je de volgende SQL-query gebruiken:

SELECT title 
FROM post 
JOIN tag ON post.post_id = tag.post_id 
WHERE tag.tag_id IN (SELECT tag_id FROM tag WHERE tag = 'category1')
AND tag.tag = 'category2';

Om te controleren op andere categorieën herhaal je gewoon de WHERE-clausule:

SELECT title 
FROM post 
JOIN tag ON post.post_id = tag.post_id 
WHERE tag.tag_id IN (SELECT tag_id FROM tag WHERE tag = 'category1')
AND tag.tag_id IN (SELECT tag_id FROM tag WHERE tag = 'category2')
AND tag.tag = 'category3';

Dit zou resultaten opleveren voor titels die alle drie de categorieën hebben.



  1. Hoe kan ik detecteren dat een query voor maken, bijwerken en verwijderen succesvol is in Codeigniter?

  2. rechter haakje fout ORA-00907 in Oracle

  3. Oracle-gegevenstype:moet ik VARCHAR2 of CHAR gebruiken?

  4. Laravel-relaties op een tafel met twee soorten vlaggen