Bonjour,
je ne sais pas trop ou poser cette question : Access ou SQL.
Je voudrais faire des calculs avec les resultats de requetes.
j'ai une base :
T1 id_t1 *
nom
code
T2 id_t2 *
nom
code
T3 id_t3 *
nom
code
L1 id_t1
id_t2
pourcentage
L2 id_t2
id_t3
pourcentage
Je voudrais pouvoir additionner les 2 pourcentages en choisissant un champ T1
si les champs T3 sont identiques.
j'ai essayé :
(il faut remplacer pourcentage_calcule par (L2.pourcentage*L1.pourcentage),
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT T3.nom, (L2.pourcentage*L1.pourcentage) AS "pourcentage_calcule", T2.nom, T1.nom FROM T1, T2, T3, L1, L2 WHERE (T3.id_t3=L2.id_t3 AND L2.id_t2=T2.id_t2 AND T2.id_t2=L1.id_t2 AND L1.id_t1=T1.id_t1 AND T1.nom="toto") ORDER BY (pourcentage_calcule);
je sais pas pourquoi)
Cette requete marche, elle me donne le bon resultat, sauf que par exemple,
si 2 champs de T3 sont identiques j'aurai le pourcentage pour chaque,
et la je voudrais qu'il me les additionne.
j'ai essayé GROUP BY T3 mais il me dit :
Si je rajoute tous les champs, le resultat est le meme."vous avez essayé d'executer une requete ne comprenant pas
l'expression specifiee 'T3.nom' comme une partie de la fonction d'agregat."
En fait, on doit avoir toutes les colonnes de la cause group by
dans la clause select et toutes les colonnes de la clause select
sans fonction d'agregation doivent figurer dans la clause group by.
(je vois pas bien a quoi ca correspond ici)
Note : je ne peux pas utiliser DISTINCT : conflit avec ORDER BY
j'ai pensé utiliser SUM, mais c'est toujours pareil.
Je voudrais savoir s'il est possible de contourner ce pb en recuperant
le resultat dans un recordset et avec un 2eme recordset recuperer chaque ligne
du premier, et remplir le 2eme avec la somme de tous les pourcentages dont les
champs de T3 sont identiques.
Je vois pas trop comment partir dans ce cas.
Je prefererais trouver la bonne requete...
Merci pour votre aide.
Partager