没有唯一标识符的内部连接
inner join without unique identifier
在下面的屏幕截图中,您可以看到两个 table。在左侧,我有一个带有事故的 table,在这种情况下,ID 是唯一的,并且 ID=68 总是相同的事故。
右侧是可用的天气数据以及特定日期的温度。
但是,日期不是唯一可识别的,因为在我的例子中,一月份有五个星期六。
我想做的是在我的第一个“事故”table(空栏)中写下温度。
我知道有问题,因为我不想在我的 table 中发生五次相同的事故(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;
在下面的屏幕截图中,您可以看到两个 table。在左侧,我有一个带有事故的 table,在这种情况下,ID 是唯一的,并且 ID=68 总是相同的事故。
右侧是可用的天气数据以及特定日期的温度。
但是,日期不是唯一可识别的,因为在我的例子中,一月份有五个星期六。 我想做的是在我的第一个“事故”table(空栏)中写下温度。
我知道有问题,因为我不想在我的 table 中发生五次相同的事故(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;