SQL に関する質問です。テーブルAにデータをテーブルCから追加したいのです。そのときの条件は、テーブルBのIDと一致するIDをもつテーブルCのデータにしたいのです。SQLの文法は、MySQLでお願いします。バージョンは3でもできる作業ではないかと思っています。できないなら、バージョン指定でお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/05/02 16:48:09
  • 終了:2008/05/09 16:50:03

回答(1件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/05/02 18:08:16

ポイント60pt

insert into A select C.* from C inner join B on C.uid = B.uid;

テーブルを A, B, C、ユニークIDを id とします。

A と C の構造が違うと言うことなので、C.* の所は適宜変更して下さい。

MySQL バージョン3は分かりませんが、バージョン4.0以上で動くと思います。


なお、このSQL文は、テーブルCにテーブルAと同じ id が無いというのが前提です。


参考サイト

  • id:pahoo
    条件について質問です。
    1)テーブルAとテーブルBの構造は同一ですか?
    2)テーブルA,B,CのIDはユニークですか? 追加したレコードのIDが、もともとテーブルAにあったIDと重複しても良いですか?
  • id:isogaya
    インデックスだけユニークで共通だと思ってください。構造は違います。必要な項目だけ選んで追加します。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません