Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie o wiele tagów

Poniższe powinno działać.

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;

Jeśli chcesz, aby pasował do więcej niż dwóch tagów, możesz je łatwo dodać. Pamiętaj tylko o zmianie 2 w HAVING klauzula.

Założyłem wszystkie wiersze w tagXmedia są wyjątkowe. Jeśli tak nie jest, musisz dodać DISTINCT do COUNT część.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zamów pozycje w MySQL według ustalonej listy?

  2. jak usunąć bazę danych

  3. Czy bezpieczne jest przechowywanie dat w postaci ciągu w mysql?

  4. Projektowanie baz danych dla aplikacji korzystających z hashtagów

  5. MySQL — odejmowanie wartości od poprzedniego wiersza, grupowanie według