Error 1093 (ER_UPDATE_TABLE_USED)
SQLSTATE = HY000
Message = "You can't specify target table 'x' for update in FROM clause"
このエラーは次のような場合に発生する。

UPDATE t1 SET column2 = (SELECT MAX(column1) FROM t1);
サブクエリは SELECT ステートメントと同じく、UPDATE ステートメントや DELETE ステートメントでも正式に使用できるので、UPDATE ステートメント内の割り当てにサブクエリを使用しても問題ありません。 しかし、サブクエリの FROM 節と更新対象の両方に同じテーブル(この場合、テーブル t1)を使用することはできません。

通常、サブクエリがエラーになると、ステートメント全体がエラーになります。

                                • -

なるほど、ということはテンポラリーテーブルを作らないといけないのかな。