Bonjour,

J'ai 4 tables : Reacteurs, Reacteur_Cycles, Dissolutions, Assemblages.
Reacteurs -> PK : id_reacteur
Reacteur_Cycles -> PK : (id_reacteur, no_cycle) -> FK : id_reacteur
Dissolutions -> PK : id_dissolution -> FK : (id_reacteur, no_cycle), id_reacteur
Assemblages -> PK : id_assemblage -> FK : (id_reacteur, no_cycle), id_reacteur, id_dissolution

Il y a quelque temps j'avais rencontré un probléme : http://www.developpez.net/forums/d15...ction-d-eleve/
Aujourd'hui je rencontre le même probléme mais je n'arrive pas le résoudre et je dois avouer que je ne comprends pas...

Je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
SELECT DISTINCT R.id_reacteur, RC.no_cycle, D.id_dissolution, A2.id_assemblage 
FROM Assemblages A1
    INNER JOIN Assemblages A2
    ON A1.id_dissolution=A2.id_dissolution
         INNER JOIN Dissolutions D   
         ON A1.id_dissolution=D.id_dissolution
              INNER JOIN Reacteurs R
              ON D.id_reacteur=R.id_reacteur
                  INNER JOIN Reacteur_Cycles RC
                  ON R.id_reacteur=RC.id_reacteur
Quand j'effectue cette requête, j'obtiens pleins de doublons.
Normalement l'id assemblage est lié à un réacteur et à un no_cycle du réacteur. Mais ici j'obtiens l'id_assemblage dans tous les no_cycles du reacteur dans lequel l'id_assemblage se trouve.

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Normalement je devrais avoir: 
id_assemblage     id_reacteur     no_cycle
5                 2               1
6                 3               2
Ce que jobtiens :
id_assemblage     id_reacteur     no_cycle
5                 2               1
5                 2               2
6                 3               1
6                 3               2
6                 3               3
6                 3               4
(et ça continue pour tous les no_cycle de cet id_reacteur)
Quelqu'un aurait-il une idée sur comment procéder pour ne plus avoir ces doublons?

Merci.