Bonjour.
Firebird 2.0 -
Soit deux tables
Envoyé par TABLE1
Le champs de "RANG" varie de 100 à ..., mais je ne veux analyser que trois valeurs (100, 101 et 102).Envoyé par TABLE2
Je souhaite avoir une table résultat en additionnant les valeurs de MONTANT selon l'ID et le RANG, avec en résultat :
J'ai fait la reqête suivante :ID NOM RANG100 RANG101 RANG102
01 MOI 15 6 25
02 TOI 7 12
Je pense que vous avez pigé le but de la requête. Malheureusement, j'obtiens systématiquement "Cannot use an aggregate function in a GROUP BY clause".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Select T1.ID, T1.NOM case when RANG = 100 then sum(MONTANT) else 0 end RANG100, case when RANG = 101 then sum(MONTANT) else 0 end RANG101, case when RANG = 102 then sum(MONTANT) else 0 end RANG102 from TABLE1 T1 left outer join TABLE2 T2 on T1.ID=T2.ID group by T1.ID, T1.NOM, RANG100, RANG101, RANG102
Je sèche sur la façon de résoudre ça correctement.
Comment vous y prendriez-vous ?
Merci
Michel
Partager