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

Заявка за търсене с множество маркери

Следното трябва да работи.

SELECT media_id
FROM tagXmedia
WHERE tag_id IN (SELECT id FROM tag WHERE name IN ('home','hawaii'))
GROUP BY media_id
HAVING COUNT(tag_id) = 2;

Ако искате да съвпадат с повече от два етикета, можете лесно да ги добавите. Просто не забравяйте да промените 2 в HAVING клауза.

Предполагам, че всички редове в tagXmedia са уникални. В случай, че не са, ще трябва да добавите DISTINCT към COUNT част.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. създайте mysql таблица, ако тя не съществува

  2. Как да попълним таблици на зони в mysql база данни в ubuntu с xampp

  3. Търсене на емоджи в MySQL

  4. Използвайте MySQL, за да определите дали днес е рожден ден на потребителя

  5. Премахнете дубликатите в голяма MySql таблица