UPDATE SQL récupérer enregistrement précédent
ragemind
-
MrSlave Messages postés 2657 Statut Membre -
MrSlave Messages postés 2657 Statut Membre -
Bonjour,
J'aurais besoin d'aide. En Access 2003, j'ai une table dont la structure est comme suit (j'ai mis des valeurs en exemple) :
ID--------Date ---------Valeur---------ValeurPrecedent
1-------01/01/2011-------- toto
2-------01/01/2011-------- titi
3-------01/01/2011--------lulu
1-------02/01/2011--------manu
2-------02/01/2011--------lili
3-------02/01/2011------- adele
1-------03/01/2011--------lolo
2-------03/01/2011-------nono
3-------03/01/2011--------lala
Avec valeurPrecedent à NULL
Comment faire (avec instruction SQL UPDATE si possible) pour mettre à jour le champ ValeurPrecedent à partir de la date 02/01/2011 pour que ce champ prenne la valeur du champ "Valeur" à la date précédente et pour le même ID ?
C'est à dire :
ID--------Date ---------Valeur---------ValeurPrecedent
1-------01/01/2011-------- toto
2-------01/01/2011-------- titi
3-------01/01/2011--------lulu
1-------02/01/2011--------manu-----------toto
2-------02/01/2011--------lili---------------titi
3-------02/01/2011------- adele------------lulu
1-------03/01/2011--------lolo--------------manu
2-------03/01/2011-------nono-------------lili
3-------03/01/2011--------lala--------------adele
Je vous remercie
J'aurais besoin d'aide. En Access 2003, j'ai une table dont la structure est comme suit (j'ai mis des valeurs en exemple) :
ID--------Date ---------Valeur---------ValeurPrecedent
1-------01/01/2011-------- toto
2-------01/01/2011-------- titi
3-------01/01/2011--------lulu
1-------02/01/2011--------manu
2-------02/01/2011--------lili
3-------02/01/2011------- adele
1-------03/01/2011--------lolo
2-------03/01/2011-------nono
3-------03/01/2011--------lala
Avec valeurPrecedent à NULL
Comment faire (avec instruction SQL UPDATE si possible) pour mettre à jour le champ ValeurPrecedent à partir de la date 02/01/2011 pour que ce champ prenne la valeur du champ "Valeur" à la date précédente et pour le même ID ?
C'est à dire :
ID--------Date ---------Valeur---------ValeurPrecedent
1-------01/01/2011-------- toto
2-------01/01/2011-------- titi
3-------01/01/2011--------lulu
1-------02/01/2011--------manu-----------toto
2-------02/01/2011--------lili---------------titi
3-------02/01/2011------- adele------------lulu
1-------03/01/2011--------lolo--------------manu
2-------03/01/2011-------nono-------------lili
3-------03/01/2011--------lala--------------adele
Je vous remercie
A voir également:
- UPDATE SQL récupérer enregistrement précédent
- Recuperer message whatsapp supprimé - Guide
- Windows update bloqué - Guide
- Winget update - Guide
- Récupérer mon compte facebook désactivé - Guide
- Asus live update - Télécharger - Utilitaires
2 réponses
Sans tester, et un peu à l'arrache, j'aurai pensé à quelque chose comme :
update MaTABLE obj1
set obj1.VALEURPRECEDENT = obj2.VALEUR
FROM MaTABLE obj1
INNER JOIN MaTABLE obj2
ON obj1.ID = obj2.ID
WHERE obj2.DATDEBUT = (select max(DATDEBUT)
FROM MaTABLE obj3
where obj2.ID = obj3.ID
AND obj3.DATDEBUT < obj1.DATDEBUT);