嗨,我有一张看起来像这样的表:
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
我的任务是转发填写每个id和日期的值,直到知道新值。例如,我想在id1上插入值1的2011年1月,在id3的2011年1月3日插入值20。我正在使用mysql。对此的任何帮助将不胜感激。
答案 0 :(得分:0)
在mysql中,确实没有任何超级有效的方法来实现这一点(我能想到)但是可以使用相关的子查询来完成:
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;
这假设我正确地解释了逻辑。如果这是正确的想法,请告诉我。