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 hana at 15:22| Comment(0) | TrackBack(0) | DB,SQL関連 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。