sql >> Database >  >> RDS >> Mysql

Mysql join-query voor meerdere tags (veel-op-veel-relatie) die overeenkomt met ALLE tags?

Gebruik:

  SELECT * 
    FROM OBJECTS o
    JOIN OBJECTSTAGS ot ON ot.object_id = o.id
    JOIN TAGS t ON t.id = ot.tag_id
   WHERE t.name IN ('tag1','tag2')
GROUP BY o.id
  HAVING COUNT(DISTINCT t.name) = 2

Je miste de HAVING-clausule.

Het is niet nodig om LEFT JOIN te gebruiken als je alleen rijen wilt waarin beide tags bestaan.




  1. Docker-compose gebruiken om tabellen te maken in de postgresql-database

  2. Hoe kan ik een veld van mijn spinner bijwerken met gebruikersinvoer in EditText

  3. Hoe te UPSERT (MERGE, INSERT ... OP DUPLICATE UPDATE) in PostgreSQL?

  4. Foutcode:1062. Dubbele invoer '1' voor sleutel 'PRIMARY'