【发布时间】:2012-11-27 18:16:51
【问题描述】:
这个让我难过。
我有两张桌子:
METERS
id | startTime
READINGS
id | meter_id | readingTime
我想要做的是在 1 个 sql 查询中将 meters.startTime 更新为最低匹配的 readings.readingTime。
我该怎么做?
【问题讨论】:
标签: mysql sql join sql-update
这个让我难过。
我有两张桌子:
METERS
id | startTime
READINGS
id | meter_id | readingTime
我想要做的是在 1 个 sql 查询中将 meters.startTime 更新为最低匹配的 readings.readingTime。
我该怎么做?
【问题讨论】:
标签: mysql sql join sql-update
像这样:
UPDATE Meters m
INNER JOIN
(
SELECT meter_id, MIN(reading_time) lowesttime
FROM readings
GROUP BY meter_id
) r ON m.id = r.meter_id
SET m.starttime = r.lowesttime;
【讨论】:
UPDATE METERS m SET startTime = (SELECT MIN(r.readingTime)
FROM READINGS r
WHERE r.meter_id = m.id)
WHERE m.id = your_id
【讨论】: