OVH Cloud OVH Cloud

Requete SQL, help !

2 réponses
Avatar
ronando29
J'ai un pb avec une requete sql,il n'y a pas d'erreur de syntaxe car
elle s'execute bien mais je n'attends pas le bon resultat, il doit donc
y avoir un pb de logique :

Je veux selectionner les adherents (n=B0+nom) et la somme de leur volume
et la somme de leur factures, le tout pour le mois de d'octobre et
l'ann=E9e 2005.

La voila :

SELECT
ADHERENT.NUMERO,ADHERENT.NOM,SUM(VOLUME.VOLUASSU),SUM(FACTURE.MONTANT)
FROM ADHERENT,VOLUME,FACTURE
WHERE adherent.NUMERO=3D facture.NUMERO
AND adherent.NUMERO=3D volume.NUMERO
AND FACTURE.MOIS =3D10
AND FACTURE.ANNEE=3D2005
AND VOLUME.MOIS=3D10
AND VOLUME.ANNEE=3D2005
GROUP BY ADHERENT.NUMERO,ADHERENT.NOM

Le resultat m'affiche un seul adherent et c'est normal car c'est le
seul a avoir des factures pr octobre
J'ai la bonne sommme pr les factures mais par contre pr les volumes
j'ai le double de ce qui devrait y avoir. (et pr cet adherent j'ai
remarqu=E9 que j'ai 2 factures), dc en fait ca ne doit pas passer qu'il
y ai ds ma requete les jointures entre adherent et volume d'une part et
adherent et facture d'autre part ?

Voyez vous ce que je veux dire ?

Merci :)

2 réponses

Avatar
Roumegou Eric
a formulé ce mercredi :
J'ai un pb avec une requete sql,il n'y a pas d'erreur de syntaxe car
elle s'execute bien mais je n'attends pas le bon resultat, il doit donc
y avoir un pb de logique :

Je veux selectionner les adherents (n°+nom) et la somme de leur volume
et la somme de leur factures, le tout pour le mois de d'octobre et
l'année 2005.

La voila :

SELECT
ADHERENT.NUMERO,ADHERENT.NOM,SUM(VOLUME.VOLUASSU),SUM(FACTURE.MONTANT)
FROM ADHERENT,VOLUME,FACTURE
WHERE adherent.NUMERO= facture.NUMERO
AND adherent.NUMERO= volume.NUMERO
AND FACTURE.MOIS 
AND FACTURE.ANNEE 05
AND VOLUME.MOIS
AND VOLUME.ANNEE 05
GROUP BY ADHERENT.NUMERO,ADHERENT.NOM

Le resultat m'affiche un seul adherent et c'est normal car c'est le
seul a avoir des factures pr octobre
J'ai la bonne sommme pr les factures mais par contre pr les volumes
j'ai le double de ce qui devrait y avoir. (et pr cet adherent j'ai
remarqué que j'ai 2 factures), dc en fait ca ne doit pas passer qu'il
y ai ds ma requete les jointures entre adherent et volume d'une part et
adherent et facture d'autre part ?

Voyez vous ce que je veux dire ?



comprends pas trop ton modèle ...
Adhérent a 0 ou plusieurs volumes, Adhérent a 0 ou plusieurs factures.

C'est sûr que tu vas multiplier par le<nbre de factures tes volumes
voire multiplier tes factures par le nbre de volumes.
Il faut passer par une sous requete ou tu vas cumuler tes volumes
SELECT volume.NUMERO,SUM(VOLUME.VOLUASSU) FROM VOLUME GROUP BY
volume.NUMERO
WHERE VOLUME.MOIS AND VOLUME.ANNEE 05



Merci :)




--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
ronando29
Euh .. je comprends pas grand chose à ce que vous me dites ...
Dans la requete que vous ecrivez ca ne m'affiche pas ma somme de
FACTURE.MONTANT. et la sous requete apres le group by ??