Salut a tous et merci pour lire ma question! Je vous expose en details mon probleme.
J'ai 7 tables avec les champs suivants:
stk_ProduseDef(Code,Denumire,UM) -tab1
stk_cfg_UM(IdUM,Denumire) tab2
stk_PVDef(IdPVDef,IdLot,Cantitate,IdPV,IdProdDef) tab3
stk_AlimentareStoc(IdLot,IdProdDef,PretFranco) - tab4
stk_PV(IdPV,DatePV,IdPartener,idTipPV) - tab5
ap_Parteneri(IdPartener,Nume) -tab6
Bon ce que je veux obtenir c'est l'output suivant:
J'ai obtenu les premieres 5 colonnes je veux lister maintenant la derniere colonne(IdPartener) pour chaque partenaire je veux lister la valeur d'acquisition du produit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Code (code du produit) | Denumire (nom du produit) | UM (unite mesure pour produit) | Cantitate (c'est quantite du produit) | PretAch=PretFranco (prix d'achat du produit) du T1 | IdPartener (fourniseur-producteur de chaque produit) du T1
Voila ce que j'ai fait:
En esperant d'avoir explique en detail ce que je desire faire.
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
26
27
28 SELECT tab1.Code,tab1.Denumire,tab2.Denumire,tab3.Cantitate,tab4.PretAch, tab3.Cantitate*tab4.PretAch as valach,x.valach1 FROM stk_ProduseDef tab1 left join stk_cfgUM tab2 on tab1.IdUM=tab2.IdUM left join stk_PVDef tab3 on tab1.IdProdDef = tab3.IdProdDef left join stk_AlimentareStoc tab4 on tab4.IdLot = tab3.IdLot left join stk_PV tab5 on tab5.idPV = tab3.IdPV --et j'obtiens les premiers 5 colonnes comme je veux --Maintenant pour lister la valeur d'acquisition pour chaque producteur j'ai essaye comme ca: (c'est ca mon probleme) et aussi je dois mettre une condition pour chaque champ IdTipPV=2 --d'ici est mon probleme dans le query!!!! left join ( SELECT tab5.IdPartener,SUM(tab3.Cantitate*tab4.PretAch) as valach FROM stk_PV WHERE IdTipPV = 2 GROUP BY IdPartener )x on tab1.IdPartener = x.IdPartener left join ap_PARTENERI tab6 on tab6.IdPartener = tab5.IdPartener
Le probleme est dans le left join qui contient le tableau x.
Voila le printscreen qui est execute par ca:
Effet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT tab1.Code,tab1.Denumire,tab2.Denumire,tab3.Cantitate,tab4.PretAch, tab3.Cantitate*tab4.PretAch as valach --,tab6.Nume
Et en roulant la requete complete que je veux:
J'obtiens 3 erreurs:
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 [/CSELECT tab1.Code,tab1.Denumire,tab2.Denumire,tab3.Cantitate,tab4.PretAch, tab3.Cantitate*tab4.PretAch as valach ,x.valach1 --,tab6.Nume FROM stk_ProduseDef tab1 left join stk_cfgUM tab2 on tab1.IdUM=tab2.IdUM left join stk_PVDef tab3 on tab1.IdProdDef = tab3.IdProdDef left join stk_AlimentareStoc tab4 on tab4.IdLot = tab3.IdLot left join stk_PV tab5 on tab5.idPV = tab3.IdPV left join ( SELECT tab5.IdPartener,SUM(tab3.Cantitate*tab4.PretAch) as valach1 FROM stk_PV tab5 WHERE IdTipPV = 2 GROUP BY IdPartener )x on tab6.IdPartener = x.IdPartener left join ap_PARTENERI tab6 on tab6.IdPartener = tab5.IdPartener
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Msg 4104, Level 16, State 1, Line 1 The multi-part identifier "tab3.Cantitate" could not be bound. Msg 4104, Level 16, State 1, Line 1 The multi-part identifier "tab4.PretAch" could not be bound. Msg 4104, Level 16, State 1, Line 1 The multi-part identifier "tab6.IdPartener" could not be bound.
Partager