J'ai peut-être une piste.
Je précise que je fais tout ça en mode sql direct
(requête > créer une requête en mode sql, et icône sql cochée)
requête 1:

SELECT "adherents"."nom",  SUM("credit") AS "totcredit", SUM("debit")
AS "totdebit" FROM "adherents", "compta" WHERE "adherents"."id" =
"compta"."ref_adh" GROUP BY "nom"

fonctionne bien ...

si j'essaye (requête 2):

SELECT "adherents"."nom",  "adherents"."prenom", SUM("credit") AS
"totcredit", SUM("debit") AS "totdebit" FROM "adherents", "compta"
WHERE "adherents"."id" = "compta"."ref_adh" GROUP BY "nom"

j'ai une erreur "not in agregate function, bla bla bla ..."

mais si je rajoute à la requête 2 le champ "prenom" dans la clause
GROUP BY, et bien ça marche ..

requête 3:

SELECT "adherents"."nom",  "adherents"."prenom", SUM("credit") AS
"totcredit", SUM("debit") AS "totdebit" FROM "adherents", "compta"
WHERE "adherents"."id" = "compta"."ref_adh" GROUP BY "nom", "prenom"

idée qui m'est venue en lisant
http://sqlpro.developpez.com/cours/sqlaz/ensembles/
<citation>
La présence de la clause GROUP BY est nécessaire dès que la clause de
sélection, ou le filtre WHERE, ou encore les jointures comportent
simultanément des calculs d'agrégation et la présence de colonnes de
table hors de calculs d'agrégation.
De plus, outes les colonnes représentées hors des calculs d'agrégation
doivent figurer dans la clause GROUP BY.
</citation>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to