Bonjour,
je cherche la bonne requête mysql qui permette de trouver les noms des catégories à condition que le nombre de marques différentes dans chacune de ces catégories soit supérieur ou égal à 3 et que le nombre de produits dans chacun de ces marques soit supérieur ou égal à 2.
D'abord je vous présente les 3 tables :
1) La table category (catégorie) qui a 2 colonnes :
- id_category : auto-increment
- name : varchar
Et voici les données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 id_category | name ---------------- 1 | pull 2 | pantalon 3 | chaussure
2) La table manufacturer (marque) qui a 2 colonnes :
- id_manufacturer : auto-increment
- name : varchar
Et voici les données :
3) et la table product (produit) qui a 4 colonnes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 id_manufacturer | name ------------------------------------ 1 | adidas 2 | nike 3 | puma
- id_product : auto-increment
- id_category : int
- id_manufacturer : int
- name : varchar
Et voici les données :
Donc la requête que je cherche doit m'afficher comme résultat la catégorie "pantalon", car d'après la table product, cette catégorie a 3 marques différentes (adidas, nike, puma) et que dans chacune de ces marques, il y a au moins 2 produits (pantalon rouge et pantalon vert pour adidas, pantalon rouge et pantalon vert pour nike, pantalon rouge et pantalon vert pour puma).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 id_product | id_category | id_manufacturer | name --------------------------------------------------------- 1 | 1 | 1 | 1 | adidas pull rouge 2 | 1 | 1 | 1 | adidas pull vert 3 | 2 | 2 | 1 | adidas pantalon rouge 4 | 2 | 2 | 1 | adidas pantalon vert 5 | 2 | 2 | 2 | nike pantalon rouge 6 | 2 | 2 | 2 | nike pantalon vert 7 | 2 | 2 | 3 | puma pantalon rouge 8 | 2 | 2 | 3 | puma pantalon verte 9 | 3 | 3 | 1 | adidas chaussure rouge
Avez-vous une idée ?
Merci d'avance pour vos réponses, cordialement
Partager