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

MySQL изберете присъединяване къде И къде

Този тип проблем е известен като релационно деление

SELECT Products.* 
FROM Products
JOIN ProductTags ON Products.id = ProductTags.product_id
WHERE ProductTags.tag_id IN (1,2,3)
GROUP BY Products.id /*<--This is OK in MySQL other RDBMSs 
                          would want the whole SELECT list*/

HAVING COUNT(DISTINCT ProductTags.tag_id) = 3 /*Assuming that there is a unique
                                              constraint on product_id,tag_id you 
                                              don't need the DISTINCT*/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Neo4j - Изтрийте възел с помощта на Cypher

  2. Използвайте директивата IN, за да търсите с подготвен оператор

  3. brew install mysql, грешка при опит за спиране на сървъра

  4. Много бавно изтриване на mysql база с подзаявка

  5. Как автоматично увеличаване в рамките на подмножество на таблицата MYSQL