2012年04月05日

MYSQLにてSELECT結果でUPDATEする。

タイトル通りのことがやりたかったので、調べてみて以下のようなSQLを作った。

UPDATE
    TABLE1 T1
  SET
    (
      T1.VAL1
      ,T1.VAL2
      ,T1.VAL3
    ) = (
        SELECT
            T2.VAL1
            ,T2.VAL2
            ,T2.VAL3
          FROM
            TABLE2 T2
          WHERE
            T1.ID = T2.ID
    );

でも、動かない。。。

さらに調べてみると、MYSQLの場合は以下のようにするみたい。

UPDATE
    TABLE1 T1
    ,TABLE2 T2
  SET
    T1.VAL1 = T2.VAL1
    ,T1.VAL2 = T2.VAL2
    ,T1.VAL3 = T2.VAL3
  WHERE
    T1.ID = T2.ID;

知らなかった。
posted by m97087yh at 15:22| Comment(0) | TrackBack(0) | DB,SQL関連 | このブログの読者になる | 更新情報をチェックする