Somme des sommes de 3 champs de 3 tables différents

cs_pressilla Messages postés 16 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 13 juin 2010 - 24 mai 2010 à 12:48
cs_pressilla Messages postés 16 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 13 juin 2010 - 24 mai 2010 à 16:04
Bonjour à tous ,
o fait j'ai un problème avec une requête mysql, je m'explique :
mon application se base sur une connexion d'une base de données mysql avec un programme en java, le problème c'est que je veux calculer dans un JTextfield la somme de trois montants : (somme des montants qui provient de la table caisse , somme des montants qui provient de la table encaissement et somme des montants qui provient de la table commission ) voila ce que j'ai mis :


String REQ="select (sum(encaissement.montant) + sum(caisse.montant) + sum(commission.Montant)) from encaissement INNER JOIN caisse INNER JOIN commission ";

/*.............la classe connexion_bd définie la connexion avec la base de données avec la methode connection et requete et getresultset ...........*/


connexion_bd c = new connexion_bd(REQ);
c.connection();
c.requete(REQ);
ResultSet RS = c.getresultset(REQ);
while (RS.next()){
tfsm.setText((String) RS.getString(1));
}


il s'affiche dans le JTextfield (tfsm) un nombre entier mais quand j'ai fais la somme avec une calculatrice il me donne un nombre tout à fait différent je pense que cette requête ne marche pas bien parce que le nombre des enregistrements de la table encaissement est plus que les enregistrements dans les autres tables sans oublier que la clé étrangère communes dans ces trois tables est "référence_projet" qui est la clé primaire dans la table projet

j'espère que quelqu'un pourrait m'aider, et Meeeeeeeeerci beaucoup
A voir également:

2 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
24 mai 2010 à 15:00
Salut,

Essaye en précisant tes champs de la jointure, par exemple :
String REQ="select (sum(encaissement.montant) + sum(caisse.montant) + sum(commission.Montant)) from (encaissement INNER JOIN caisse ON encaissement.id_caisse = caise.id_caise) INNER JOIN commission ON commission.id_caisse = caisse.id_caisse"; 


______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_pressilla Messages postés 16 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 13 juin 2010
24 mai 2010 à 16:04
salut,
merci infiniment pour ton aide DARKSIDIOUS , o fait j'ai essayé avec les jointures, il me donne la valeur exacte, mais quand il n'a pas un deux ( c'est à dire le montant de la caisse , le montant de l'encaissement ou le montant de la commission ) il ne me donne rien (un JTextfield vide) : ce que je veux dire si par exemple pour un projet j'ai entré la somme des montants de la caisse et de la commission et que je n'est pas encore saisi le ou les montants de l'encaissement je veux qu'il s'affiche la somme de ce que j'ai saisi et après quand j'ajoute le montant qui reste qu'il le rajoute.
et merci encore une fois
0
Rejoignez-nous