Bonjour,
J'utilise Mysql version 5.0.22.
Voici le schema de ma DB: 3 tables, dont une table d'association N-M.
Table A
id
number
totalprice
Table A_B
A_id
B_id
Table B
id
area
Mon but est relativement simple, je voudrais calculer la somme des area pour un id de A donné.
Voici ma requete (qui ne fonctionne evidemment pas):
Alors je comprend pourquoi ca ne fonctionne pas, c'est a cause de la table d'association, qui me rend des doublons.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT sum( B.area ) FROM A INNER JOIN A_B ON A.id = A_B.A_id INNER JOIN B ON A_B.B_id = B.id
Je ne peux pas utiliser SUM ( distinct B.area ), il ne m'additionne pas les area identiques.
Ce que je cherche finalement à faire c'est un sum des resultats distincts de la requete...
Alors j'ai bien une autre requete qui fonctionne, mais je n'aime pas le IN...
Y'a-t-il une autre facon de proceder ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT sum( B1.area ) FROM B B1 WHERE B1.id IN ( SELECT DICTINCT B.id FROM A INNER JOIN A_B ON A.id = A_B.A_id INNER JOIN B ON A_B.B_id = B.id )
Merci d'avance.
Partager