Bonjour à tous,
J'ai un petit problème dans une procédure qui insére dans une tables le résultat d'une grosse requête. Dans un premier temps je fais plusieurs union pour récupérer les enregistrement que je veux, puis je dois faire un update sur certains enregistrements et c'est là où ça bug...
En fait après tous les unions, je dois faire une soustraction de qte_fdm - qte_debut - (les valeurs recherchées ds mon select). Or je n'arrive pas a recuperer les bonnes valeurs dans le select. Les valeurs qte_fdm et qte_debut sont bonnes, c'est la recherche des enr dans le select qui cloche.
C'est un peu compliquer d'expliquer tous les champs, donc j'imagine qu'il va etre difficile pour vous de comprendre cette requête, cependant si vous voyez un truc qui cloche dans le select de mon update je suis preneur.
En gros je dois comparer les lignes entre elles, si une ligne ne remplit pas les contions du select et du where on update pas la qte_mvt, mais malheureusement aucun enregistrement n'est updaté.
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 /* --- première partie avec les unions */ -- Upadte des qte_mvt SET qte_mvt=(qte_fdm)-(qte_debut)- ISNULL(( SELECT SUM(qte_mvt) FROM FAC_0101_STK FAC WHERE FAC.bu_dest <> FAC_0101_STK.site_bu AND FAC.aa_cpta = FAC_0101_STK.aa_cpta AND FAC.mm_cpta=FAC_0101_STK.mm_cpta AND FAC.matiere = FAC_0101_STK.matiere AND FAC.stock = FAC_0101_STK.stock AND FAC.usine = FAC_0101_STK.usine AND FAC.site_bu = FAC_0101_STK.site_bu ),0) WHERE site_bu=bu_dest and stock <>'00'
Merci pour votre aide.
Partager