在下面的屏幕截图中,您可以看到两个表格。在左侧,我有一个带有事故的表格,在这种情况下,ID 是唯一的,并且总是与 ID=68 相同的事故。
右侧是可用的天气数据以及特定日期的温度。
但是,日期不是唯一可识别的,因为在我的情况下,一月份存在五个星期六。我想要做的是在我的第一个“事故”表(空列)中写下温度。
我知道有一个问题,因为我不想在我的表中发生五次相同的事故(id=68 应该保持唯一)。即使温度不是 100% 正确,有没有办法加入这些数据?我对平均温度感到满意,或者只使用第一个条目。
这是我的查询,它永远不会停止运行。
UPDATE accident_copy as a
LEFT JOIN wetterdaten as w
ON a.year = w.year
and a.monthDE = w.month
and a.day = w.day
and a.hour = w.hour
SET a.Temperatur = w.Temperatur;
而是使用子查询来获取当时的平均温度:
UPDATE accident_copy as a
LEFT JOIN
(
SELECT avg(temperatur) temparatur, year, month, day, hour
FROM wetterdaten
GROUP BY year, month, day, hour
) as w
ON a.year = w.year
and a.monthDE = w.month
and a.day = w.day
and a.hour = w.hour
SET a.Temperatur = w.Temperatur;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句