/ / Remplir des données en utilisant mysql

Remplir les données en utilisant mysql - mysql, sql, join, subquery

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 № 1

Dans 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.