sql >> Database >  >> RDS >> Mysql

Selecteer rijen waar pivot ALLE ID's heeft

Je zou een having . kunnen toevoegen clausule toe aan uw zoekopdracht om ervoor te zorgen dat elke groep van c.id alle vier cp.product_id heeft:

SELECT
    c.id as company_id
FROM
    `companies` as c
    LEFT JOIN `company_products` cp ON cp.company_id = c.id
WHERE
    c.id IN (8, 13)
    AND cp.product_id IN (1,2,4,8)
GROUP BY
    c.id
HAVING COUNT(DISTINCT cp.product_id) = 4;    

Voorbeeld SQL-fiddle

Als u de productdetails ook nodig heeft, kunt u de bovenstaande query gebruiken als een afgeleide tabel en deze samenvoegen met de producttabel.




  1. is het mogelijk om een ​​alfanumerieke sequentiegenerator in sql te hebben?

  2. Controleer of gebruikersnaam al bestaat in database MySQL PHP

  3. Een datum in Brits formaat weergeven in SQL Server (T-SQL)

  4. Hoe SQLite Total() werkt