SQL文についての質問です。


表が二つあります。

★table1

no    data

1    100
2    300

★table2

no    data

1
123
200

UPDATE文を使用して

テーブル1と同じno数字がテーブル2にあった場合、テーブル2のdataの所に同じno数字のdataを持ってくるにはどのような命令文が必要でしょうか。

今回はno の値が 1 である場合を回答いただければと考えております。

お手数をおかけしますがよろしくお願いいたします。

※SQLはphp My admin を使用しております。

回答の条件
  • 1人2回まで
  • 登録:2009/06/02 20:01:49
  • 終了:2009/06/09 20:02:32

ベストアンサー

id:miyamuko No.1

miyamuko回答回数29ベストアンサー獲得回数112009/06/02 20:27:05

ポイント50pt

これで同じ no のデータを table2 にセットできます。

no=1 に限定したい場合は WHERE の条件に table1.no = 1 を追加してください。

UPDATE table1, table2
  SET table2.data = table1.data
  WHERE table1.no = table2.no
id:aiomock

ご回答ありがとうございます。

2009/06/02 20:49:03

その他の回答(3件)

id:miyamuko No.1

miyamuko回答回数29ベストアンサー獲得回数112009/06/02 20:27:05ここでベストアンサー

ポイント50pt

これで同じ no のデータを table2 にセットできます。

no=1 に限定したい場合は WHERE の条件に table1.no = 1 を追加してください。

UPDATE table1, table2
  SET table2.data = table1.data
  WHERE table1.no = table2.no
id:aiomock

ご回答ありがとうございます。

2009/06/02 20:49:03
id:hu2 No.2

hu2回答回数12ベストアンサー獲得回数02009/06/02 20:30:30

ポイント23pt

以下で実行できるかと思います。

UPDATE table2 t2 SET

data = (SELECT data FROM table1 t1 WHERE t2.no = t1.no)

WHERE EXISTS (SELECT * FROM table1 t1 WHERE t2.no = t1.no)

/

id:aiomock

ご回答ありがとうございます。

2009/06/02 20:49:05
id:pahoo No.3

pahoo回答回数5960ベストアンサー獲得回数6332009/06/02 20:49:29

ポイント22pt

これで、どうでしょ。

update table1,table2 set table2.data=table1.data where table1.no=table2.no;
id:aiomock

ご回答ありがとうございます。

2009/06/02 20:51:33
id:chuken_kenkou No.4

chuken_kenkou回答回数722ベストアンサー獲得回数542009/06/02 21:08:02

ポイント22pt

すでに殆ど回答が出てしまってますが。。。

update table2,table1
 set table2.data=table1.data
 where table1.no=table2.no
   and table1.no=1

自表や他表を使ったupdate文は、RDBMSによる仕様差があるので、RDBMS名、バージョンを明記するようにしてください。

特にMySQLの場合、

  1. MySQL 4.0まで・・・union、一時表、一部のジョインは実装済
  2. MySQL 4.1・・・ジョインの拡張、サブクエリ、インラインビュー、unicodeなどの実装
  3. MySQL 5.0・・・ビュー表、ストアドプロシジャ、トリガなどの実装

と、すぐに思いつくだけでも、大きな機能拡張、一部の仕様変更があります。

id:aiomock

ご回答ありがとうございます。

2009/06/09 20:02:13

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

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

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

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