Bonjour, j'ai une table qui ressemble à ceci:
Date ID Value
1/1/2011 id1 10
1/2/2011 id1 NULL
1/3/2011 id1 20
1/1/2011 id2 20
1/3/2011 id2 NULL
1/4/2011 id2 30
Ma tâche est de transmettre les valeurs pour chaque identifiantet date jusqu'à ce qu'une nouvelle valeur soit connue. Par exemple, j'aimerais insérer la valeur 10 au 1/2/2011 pour id1 et la valeur 20 au 1/3/2011 pour id2. J'utilise mysql. Toute aide à ce sujet serait grandement appréciée.
Réponses:
0 pour la réponse № 1Dans mysql, il n’existe vraiment aucun moyen super efficace de le faire (que je puisse penser), mais cela pourrait être accompli en utilisant une sous-requête corrélée:
UPDATE table
SET value = (SELECT value
FROM Table AS T1
WHERE T1.ID = table.ID
and t1.DATE <= table.Date
LIMIT 1)
WHERE table.Value IS NULL;
Cela suppose que j’interprète correctement la logique. Dites-moi si c’est la bonne idée.