Fonction som (sql)

cs_sabrina7 Messages postés 26 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 25 mars 2007 - 24 févr. 2006 à 15:45
cs_sabrina7 Messages postés 26 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 25 mars 2007 - 1 mars 2006 à 11:57
Bonjour


J'aurai besoin d'aide pour compléter une requête SQL sur Access afin de réaliser la fonction suivante:


Voici ma table contenant mes données:
Table 1 (machine 1 et 2 est une case à cocher)


Numéro Mois Machine1 Machine2 Coûts
1 Janvier X 100
2 Janvier X 200
3 Janvier X 50
4 Février X 20


Table 2 (table des mois)


Mois
Janvier
Février
Mars
...


Voici donc ma requête SQL


"SELECT Table2.Nom_mois, (select sum(Coût) from Table1 where Table1.Mois=Table2.Nom_mois and Machine1=True) AS Sommemachine1, (select sum(Coût) from Table1 where Table1.Mois=Table2.Nom_mois and Machine2=True) AS Sommemachine2 FROM Table2;"


Voici ce que j'obtiens dans ma requete:


Mois Sommemachine1 Sommemachine2
Janvier 300 50
Février 20
Mars
...


Avec cette requete, je n'obtiens pas la valeur 0 mais un champ vide pour les mois ou il n'y a pas la possibilité de faire des sommes.


Voici ce que j'aimerai avoir dans une requete:


Mois Machine1 Machine2
Janvier 300 50
Février 20 0
Mars 0 0
...


Donc comment compléter ma requête SQL afin d'avoir des 0 qui apparaissent.
Merci d'avance de votre aide
Sabrina

4 réponses

ProphetKy Messages postés 100 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 16 juin 2006 2
24 févr. 2006 à 17:02
Salut Sabrina,

Tu peux utiliser IsNull(sum(Coût),0)
Je pense que ca doit fonctionner en access.
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
25 févr. 2006 à 21:53
Voila je te repond un peu tard mais j'espere qu'elle te seras util
j'ai essayé ta requette mais elle ne m'a rien donne bon celle ci marche mais elle ne donne pas le mois ou il n'y a rien comme la mois de mars

SELECT Table2.Mois,
IIf(Machine1=True,Couts,0) AS SommeMachine1,
IIF(Machine2=True,Couts,0) AS SommeMachine2
FROM Table1,Table2 WHERE Table1.Mois=Table2.Mois
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
25 févr. 2006 à 22:20
elle donne même pour le mois de mars j'avais pas fait attention que le mois de mars n'etait pas present dans la table1
Voila elle marche nickel
A+
cs_sabrina7 Messages postés 26 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 25 mars 2007 1
1 mars 2006 à 11:57
Ok merci pour votre aide !!!!!
Rejoignez-nous