Calculer la somme à partir de de deux tables

Fermé
abdouel04 Messages postés 1 Date d'inscription jeudi 2 août 2012 Statut Membre Dernière intervention 2 août 2012 - 2 août 2012 à 12:30
flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 - 3 août 2012 à 22:47
Bonjour,

J'ai deux table:
cmd(codeRep,mt) et fact(codeRep,net) :
-Cmd:
coderep mt
000 10
000 20
200 40
200 15
300 25
300 5

-Fact :
coderep net
000 100
000 1000
000 2000
je veux le résultat suivant:

coderep mt net
000 30 3100
200 55 0
300 30 0
J'ai essayé la requête suivante:
SELECT c.coderep,SUM(mt),SUM(net)
FROM cmd c ,fact f where c.coderep=f.coderep
GROUP BY c.coderep
ca retourne une seule lignes avec un calcule erroné:
000 1710 6240
Merci pour votre aide.

1 réponse

flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 281
3 août 2012 à 22:47
Ça devrait fonctionner, à ceci près que tu auras des "null" à la place des 0 dans ta colonne "net" :

select coderep, sum(mt) as sum_mt, sum_net from cmd
left join (select coderep, sum(net) as sum_net from fact group by 1) as f using(coderep)
group by coderep;
0