OVH Cloud OVH Cloud

Problème de requete

6 réponses
Avatar
JVMD
Bonjour, je ne suis pas très doué pour les requetes SQL très
complexes.

Meme avec l'éditeur de requetes je n'arrive pas à goupiller mon truc
et d'ailleurs est-ce possible ...

Voila le truc :

Fichier Familles avec IDFamilles et NomFamilles.

Fichier Question avec IDQuestion et IDFamilles (liaison avec
Familles).

Fichier Reponses avec IDQuestion, Note.

Je voudrais faire une stat avec la somme des notes classées par
familles.

En fait il faut prendre la première famille dans le fichier Familles,
sélectionner toutes les question de cette famille dans le fichier
Question et lire avec ça le fichier Reponses en additionnant les notes
des questions sélectionnée precedemment, ensuite passer à la famille
suivante.

Voila, j'arrive à l'expliquer mais je ne sais pas comment tourner
cette requete, à la limite même me dire comment faire dans l'outil
requete ensuite je le repasserais en SQL voir même le laisser tel
quel.

Merci d'avance.


----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------

6 réponses

Avatar
Kévin
Je pense que ça devrait marcher :

SELECT Familles.NomFamilles, SUM(Reponses.Note)
FROM Familles, Question, Reponses
WHERE Familles.IDFamilles = Questions.IDFamilles
AND Questions.IDQuestion = Reponse.IDQuestion
GROUP BY Familles.NomFamilles
Avatar
JVMD
Le Mon, 26 Jan 2004 10:22:49 +0100, "Kévin" écris :

Je pense que ça devrait marcher :

SELECT Familles.NomFamilles, SUM(Reponses.Note)
FROM Familles, Question, Reponses
WHERE Familles.IDFamilles = Questions.IDFamilles
AND Questions.IDQuestion = Reponse.IDQuestion
GROUP BY Familles.NomFamilles




Je vais tester ta requete et surtout essayer de la comprendre :-).

En tout cas merci beaucoup.

JL



----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------
Avatar
Kévin
1) je selectionne le nom des familles ainsi que la somme des notes -->
"SELECT Familles.NomFamilles, SUM(Reponses.Note)"

2) j'indique les tables nécessaire --> "FROM Familles, Question, Reponses"

3) je pose les conditions : (permet ici de lier les tables)
--> "WHERE Familles.IDFamilles = Questions.IDFamilles AND
Questions.IDQuestion = Reponse.IDQuestion"

4) enfin je regroupe par nom de famille --> "GROUP BY Familles.NomFamilles"

Je sais pas si cela permet de mieux comprendre, ce n'est pas une requete
super complexe mais je n'ai jamais été doué pour expliquer :-)

Kévin
Avatar
JVMD
La requete ne retourne aucun résultats.

Je te redonne mon analyse avec les vrais nom et la structure mieux
décrite.

Questions Resultats Familles

IDQuestion IDQuestion IDFamilles
IDFamille Gravite Libelle

En fait je me suis mal exprimé, je voudrais les gravités additionnés
par IDFamille.

En fait la demande a été posée comme ça :

Prendre chaque question du fichiers questions, regarder l'IDfamille
puis aller dans le fichier résultat, pour cette question prendre la
gravite et l'ajouter dans une variable correspondant à l'IDfamille en
cours.

Ensuite récupérer les resultats cumulé par IDFamille et afficher les
stats en affichant les Familles.libelle via l'ID.

Voila, un peu obscure mais bon.

En tout cas merci pour tes précisions car elles m'ont aidé à avancer.

JL



----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------
Avatar
JVMD
Alors pour finir, ta Requete fonctionne !!

En fait je me suis gouré sur une rubrique, y'a eu confusion ce qui a
donné un résultat vide.

Bref merci encore mon problème est réglé grace à toi et ma
compréhension des jointures s'est grandement améliorée.

Encore merci.

JL



----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------
Avatar
Kévin
C'est tant mieux :-)
Heureux d'avoir pu t'aider dans l'apprentissage des requete SQL :-)

Kévin