Bonjour , je suis en train d'ecrire une requete sql pour editer un Etat mais j'ai un probleme : Lorsque je fait la jointure avec ma derniere Table le nombre de resultat augmente considérablement et les informations qui resortent sont redondante , je retrouve par exemple 10 Fois la meme Ligne.

Voici ma requete SQL (En rouge la joiture que je souhaiterais ajouter) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
SELECT Atbl_Prd_Stk_Dpt.Id_Dpt ,
 Atbl_Prd.Id_Prd,
 Atbl_Prd.Lbl_Prd,
 Atbl_Prd_Stk_Dpt.Stk_Qte,
 Atbl_Prd.Id_Unt_Stk, 
Atbl_Prd.Mnt_Rvt_F,
 Atbl_Prd.Mnt_Rvt_E As Prix,
 [Mnt_Rvt_F]*[Atbl_Prd_Stk_Dpt].[Stk_Qte] AS Val_F,
 Atbl_Prd.Mnt_Rvt_E *[Atbl_Prd_Stk_Dpt].[Stk_Qte] AS Val_E, 
Case when left(Atbl_Prd.Id_Fam,1)='E' then 'EOLIEN' when left(Atbl_Prd.Id_Fam,1)='H' then 'HYDRO' else 'AUTRES'end as Fam,
case when TypeData=0 then '' else ' (PF)'end as typ ,
cast( case when ISNUMERIC(Atbl_Prd.Tech_09)= 1 then Atbl_Prd.Tech_09 else 0 end as float ) as Tech


FROM Atbl_Prd_Stk_Dpt
INNER JOIN Atbl_Prd ON Atbl_Prd_Stk_Dpt.Id_Prd = Atbl_Prd.Id_Prd 
INNER JOIN Atbl_Ste ON Atbl_Prd_Stk_Dpt.Id_Dpt = Atbl_Ste.Id_Ste
INNER JOIN Ctbl_doc_stk_rch ON ctbl_doc_stk_rch.Id_prd = Atbl_prd_stk_dpt.Id_prd

WHERE (((Atbl_Prd_Stk_Dpt.Stk_Qte)<>0)) 
AND Atbl_Prd_Stk_Dpt.Id_Dpt BETWEEN %%1%% AND %%2%%
AND Atbl_Prd.Id_Fam BETWEEN %%3%% AND %%4%%
AND Atbl_Prd.TypeData < 2

ORDER BY Atbl_Prd.Id_Fam DESC, Atbl_Prd_Stk_Dpt.Id_Dpt, Atbl_Prd.Id_Prd

Merci d'avance pour votre aide