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

Wybierz wiersze, w których element przestawny ma WSZYSTKIE identyfikatory

Możesz dodać having klauzulę do zapytania, aby upewnić się, że każda grupa c.id ma wszystkie cztery cp.product_id:

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;    

Przykładowe skrzypce SQL

Jeśli potrzebujesz również szczegółów produktu, możesz użyć powyższego zapytania jako tabeli pochodnej i połączyć je z tabelą produktów.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kodowanie znaków JDBC

  2. Jak przekonwertować datę UTC na lokalną strefę czasową w MySql Select Query

  3. liczyć bez grupy

  4. Jak sprawić, by MySQL Connector/J działał na Androidzie?

  5. Kilka ostrzeżeń [oczekuje parametru]