Bonjour je souhaite faire une requête de mise à jour sur une table et je rencontre un problème :
J'ai une table LigneTableau avec pour clé primaire composée TabCode ( Clé primaire de la table TableauAmort ) et LigNum.
Je souhaites mettre dans mon champ LigCap la valeur ( de la même ligne ) de LigEch pour la dernière ligne de chaque TabCode de la table LigneTableau.
////////////////////////////////////////////////////////////////////////////
Petit exemple pour mieux comprendre :
Je vx mettre la valeur de LigEch dans LigCap
TabCode // LigNum // LigCap // LigEch
1-0 // 1 // 1000 // 1000
1-0 // 2 // 5000 // 3000
1-0 // 3 // 0 // 2 <== La valeur 2 doit aller dans la 3eme colonne à la place de 0
1-1 // 1 // 2000 // 1500
1-1 // 2 // 0 // 5 <== La valeur 5 doit aller dans la 3eme colonne à la place de 0
2-0 // 1 // 10 // 200 <== La valeur 200 doit aller dans la 3eme colonne à la place de 10
3-0 // 1 // 4000 // 200 etc ...
////////////////////////////////////////////////////////////////////////////
Pour l'instant j'ai fait la requête suivante, mais je m'apercoit qu'elle ne marche pas tout le temps, et je n'arrive pas a voir ce qui cloche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Update LigneTableau SET LigCapital = LigEch Where TabCode IN ( Select TabCode From LigneTableau Where TabCode IN (Select TabCode From TableauAmort) GROUP BY TabCode) AND LigNum IN (Select MAX( LigNum) AS LigNumMax From LigneTableau Where TabCode IN (Select TabCode From TableauAmort) GROUP BY TabCode)
Merci d'avance pour votre aide. Si vous avez besoin de plus d'explications n'hésitez pas !
Partager