|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre du Club
![]() Inscription : février 2009 Messages : 150 ![]() |
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 :
2) La table manufacturer (marque) qui a 2 colonnes : - id_manufacturer : auto-increment - name : varchar Et voici les données : Code :
- id_product : auto-increment - id_category : int - id_manufacturer : int - name : varchar Et voici les données : Code :
Avez-vous une idée ? Merci d'avance pour vos réponses, cordialement |
||||||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Saluton,
Tu veux l'id_product, l'id_manufacturer, et l'id_category Code mysql :
Code mysql :
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
||||
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() Inscription : février 2009 Messages : 150 ![]() |
Bonjour,
merci pour ta réponse, mais ça ne marche pas. Je sais que la requête qui permet d'avoir les noms de catégories qui ont plus de 3 marques différentes dans la table product est : Code :
Une idée ? Merci d'avance, cordialement |
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Alors il faut faire le comptage des id_manufacturer dans une sous-requêtes corrélée sur l'id_product et l'id_category.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#5 | ||||||
|
Membre du Club
![]() Inscription : février 2009 Messages : 150 ![]() |
Rebonjour,
merci pour ta réponse, mais j'ai cherché à faire ce que tu m'as dit pendant des heures, mais j'ai pas réussi à trouver la requête miracle. En tout cas j'ai 2 pistes : 1) Je sais que la requête qui permet d'avoir les noms de catégories qui ont plus de 3 marques différentes dans la table product est : Code :
2) et je sais que la requête qui permet d'avoir le nombre de marques différentes (manufacturer.name) d'une catégorie (id_category = 2 par exemple) qui ont au moins 2 produits dans la table product est : Code :
J'ai essayé avec ça : Code :
Une idée ? Merci d'avance, cordialement. |
||||||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Dans la table product, est-ce que le trio id_product, id_category, id_manufacturer constitue un index UNIQUE ?
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : février 2009 Messages : 150 ![]() |
Bonjour,
non, seul id_product est unique car auto-incrémenté dans la table product. id_category et id_manufacturer peuvent être présents en plusieurs fois dans la table product. A+ |
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Bon en raisonnant correctement,
Code mysql :
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
||
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : février 2009 Messages : 150 ![]() |
Merci, je vais tester ça.
Je découvre maintenant que le language sql demande vraiment une logique pure. Je te tiens courant |
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : février 2009 Messages : 150 ![]() |
Au fait, excuse moi,
à quoi correspond t1 et t2 svp ? A+ |
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Ce sont des alias pour les sous-requêtes, de manière à pouvoir les utiliser comme des tables temporaires dans la requête principale.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#12 | ||||
|
Membre du Club
![]() Inscription : février 2009 Messages : 150 ![]() |
Ok, merci.
Mais je crois que j'ai presque trouvé : Code :
Code :
Merci d'avance, cdt. |
||||
|
|
00
|
|
|
#13 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
La sous-sous-requête n'est pas aliassée.
Mais je doute que le résultat ait un sens, cette sous-sous-requête n'étant pas du tout corrélée.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#14 | |||||||||||
![]() ![]() |
Citation:
Code :
Code :
Code :
Code :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||||||||||
|
00
|
Copyright © 2000-2012 - www.developpez.com