sql >> Database >  >> RDS >> Mysql

MYSQL-subsetbewerking

Uit je pseudo-code neem ik aan dat je wilt controleren of een (dynamische) lijst met waarden een subset is van een andere lijst die wordt geleverd door een SELECT . Zo ja, dan wordt een hele tabel getoond. Zo niet, dan worden er geen rijen weergegeven.

Zo bereik je dat:

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

GE-UPDATE na de uitleg van 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. mysql pdo-verbinding wordt niet gesloten?

  2. NLS_COLLATION_ID() Functie in Oracle

  3. Query-optimalisatie in PostgreSQL. UITLEG Basis - Deel 1

  4. PHP-controle op NULL