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

Операция на подмножество на MYSQL

От вашия псевдокод предполагам, че искате да проверите дали (динамичен) списък със стойности е подмножество на друг списък, предоставен от SELECT . Ако да, тогава ще се покаже цяла таблица. Ако не, няма да се показват редове.

Ето как да постигнете това:

SELECT *
FROM tb_values
WHERE 
    ( SELECT COUNT(DISTINCT value)
      FROM tb_value
      WHERE isgoodvalue = true
        AND value IN (value1, value2, value3)
    ) = 3

АКТУАЛИЗИРАНО след обяснението на OP:

SELECT *
FROM project
  JOIN 
    ( SELECT projectid
      FROM projectTagMap
      WHERE isgoodvalue = true
        AND tag IN (tag1, tag2, tag3)
      GROUP BY projectid
      HAVING COUNT(*) = 3
    ) AS ok
    ON ok.projectid = project.id


  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

  3. SQL LEFT-JOIN на 2 полета за MySQL

  4. Защо дължината на реда AVG е 4 пъти по-голяма от очакваното?

  5. преброяване на заявки за документи в apache solr