MySQLに以下のテーブルがあります。
- Table1 (ID、名、姓、電話番号)
- 表 2 (TID、TEmail)
Table1 には 25000 行あり、Table2 には 20000 行が含まれています。Table2 の TID は、Table1 の主キー ID を参照する外部キーです。LastName が NULL の場合、これらの ID は Table2 に存在しません。今、私は姓を持つものだけのために2つのテーブルをマージしようとしています.
Table2 のスキーマを以下のように再定義しました。
- Table2(TID、TEmail、TFirstName、TLastName)
ここで、以下のクエリを試して、firstname と lastname の値を表 2 に挿入しました。
insert into Table2 (TFirstName, TLastName) select FirstName,LastName from Table1 where ID = Table2.TID
ただし、上記のクエリではエラーが発生します。カーソル/ストアド プロシージャを使用できます。しかし、可能であれば、クエリ自体を通じてそれを達成しようとしていました。