Problème de requète SQL
Résolu
BountyHunter87
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
trur -
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 :)
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 :)
A voir également:
- Problème de requète SQL
- Logiciel sql - Télécharger - Bases de données
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Sql lister les tables ✓ - Forum Programmation
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
5 réponses
Bonsoir
Avec une jointure et une fonction de regroupement ca doit faire l'affaire
Ce qui donne :
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 !
@+
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 !
@+
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 ;-)
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 ;-)
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 ?
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 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question