Salut à tous,

J'ai une requête du genre (je l'ai simplifiée)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT NUMclient,SUM(montant), MTassurance, MtEncours, Sum(MTAssurance + MTEncours)
FROM ECRITURE INNER JOIN CLIENT ON ECRITURE.NunClient=CLIENT.NumClient
WHERE ECRITURE.Date='2008'
GROUP BY ECRITURE.Date,ECRITURE.NumClient,CLIENT.MTAssurance,
CLIENT.MTEncours
ORDER By CLIENT.NumClient
Le 2ème SUM est complétement faux. Exemple:
MTAssurance = 1, et MTEncours=2 -->Sum(MTAssurance + MTEncours)me donne 20 ???!! je voudrais 3.
Je soupçonne que cela vienne de mon group By. J'ai essayé d'y retirer CLIENT.MTAssurance, CLIENT.MTEncours.Mais ds ce cas SQL échoue en disant :
"Serveur*: Msg 8120, Niveau 16, État 1, Ligne 18
La colonne 'CLIENT.CT_Assurance' n'est pas valide dans la liste de sélection parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause GROUP BY." (idem puur CLIENT.Encours)

Je ne sais pas pourquoi il m'oblige à les mettre. Dans ts les tutoriaux que j'ai lu, je n'ai jamais lu que des group BY devenait obligatoire.

Dans ma table ECRITURES= le tiers apparait plusieurs fois donc je supposse qu'il me totalise par autant de lignes.

Auriez-vous une idée ?