4

このクエリを実行する方法がわかりません...テーブルを更新して、uuidに応じて、「last_updated」の最小値を取得し、「created_on」を更新します...取得し続けます理由はわかりませんが、ターゲットテーブルを指定できません= /再帰の問題ですか?

UPDATE dlp.address AS t1
SET created_on = (SELECT MIN(last_updated) 
                  FROM dlp.address AS t2 
                  WHERE t1.addressuuid = t2.addressuuid);
4

2 に答える 2

2
UPDATE  dlp.address AS t1
        INNER JOIN 
        (
            SELECT  addressuuid, MIN(last_updated) minDate
            FROM    dlp.address
            GROUP BY addressuuid
        ) AS t2 
            ON t1.addressuuid = t2.addressuuid
SET     t1.created_on = t2.minDate
于 2012-12-12T03:05:56.943 に答える
0

使用できます:

UPDATE dlp.address AS t1

  , (SELECT addressuuid, MIN(last_updated) AS minDate 
       FROM dlp.address GROUP BY addressuuid) AS t2

SET t1.created_on = t2.minDate 

WHERE t1.addressuuid = t2.addressuuid
于 2012-12-12T03:23:39.083 に答える