Mysql
 sql >> база данни >  >> RDS >> Mysql

Mysql заявка за присъединяване за множество тагове (връзка много към много), която отговаря на ВСИЧКИ тагове?

Използвайте:

  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

Липсваше ви клаузата HAVING.

Няма нужда да LEFT JOIN, ако искате само редове, където съществуват и двата маркера.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Квалифициране на име на колона на временна таблица в jOOQ

  2. За какво е jdbc драйверът org.gjt.mm.mysql.Driver?

  3. Дизайн на база данни за съхранение на чат съобщения между хора

  4. Географско търсене (разстояние) в PHP/MySQL (производителност)

  5. Как да търся JSON масив в MySQL?