Problème de requète SQL

Résolu
BountyHunter87 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
 trur -
Bonjour à tous

Je cherche dans mon modèle à créer une requète SQL permetant d'affichier pour chaque rayon le nombre de produits qu'ils contiennent, mais là je dois bien vous avouez que j'ai du mal :(

Voici comment cela se présente

Produit(Numro_Produit,libelle_Produit,#NumeroRayon)
Rayon(NumeroRayon,nom_rayon)

D'avance merci pour votre aide :)

5 réponses

PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Bonsoir

Avec une jointure et une fonction de regroupement ca doit faire l'affaire


Ce qui donne :


SELECT Rayon.Numero, Rayon.nom_rayon, 
count(Produit.Numro_Produit) as Nombre
FROM Rayon left join Produit 
ON Rayon.Numero = Produit.NumeroRayon
GROUP BY 
Rayon.Numero, Rayon.nom_rayon



Le "left join" permet de retourner la valeur 0 pour les rayons vides.

Si tu ne veux pas les rayons vides alors remplace le "left join" par un "inner join"

Le champ Rayon.nom_rayon n'est pas indispensable : si tu n'en veux pas, supprime le dans les clauses select et group by

Sous toute réserve bien sûr !

@+

0
BountyHunter87 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
et bien que dire sauf ..... MERCI

je vais de ce pas chercher la définition du GROUP BY, car c'est bien beau de le faire une fois mais si je sais pas le réutiliser...

Bonne soirée et encore merci PhP ;-)
0
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Disons que la clause GROUP BY c'est comme dire au moteur SQL : regroupe moi tous les enregistrements dont les champs qui suivent (sous-entendu la clause GROUP BY) sont tous identiques en une seule ligne/enregistrement . Bref pas de doublon. Par contre les fonctions de regroupement comme count() ou sum() opèrents bien sur l'ensemble des enregistrements identiques.
C'est pourquoi elles n'apparaissent pas dans la clause GROUP BY : cela n'aurait pas vraiement de sens. On ne regroupe pas le fait de compter un nombre d'enregistrements tous identiques on affiche le total dans le cas de sum() ou le nombre de fois dans le cas de count() c'est tout.

Est-ce un plus clair ?
0
BountyHunter87 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Super merci beaucoup pour ton aide ;-D
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
trur
 
qu ce qu un sql
0