2012-12-10 5 views
3

이 하나가 절 stum되었습니다.데이터 별 그룹 기반의 특정 mysql 업데이트

는 그래서 같은 두 테이블이 :

METERS 
id | startTime 

READINGS 
id | meter_id | readingTime 

내가하고 싶은 것은 업데이 트입니다 readings.readingTime 1 SQL 쿼리와 일치하는 가장 낮은에 meters.startTime.

어떻게하면됩니까? 이처럼

답변

11

:

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; 
2
UPDATE METERS m SET startTime = (SELECT MIN(r.readingTime) 
    FROM READINGS r 
    WHERE r.meter_id = m.id) 
WHERE m.id = your_id