2016-06-30 10 views
-1

私は2つのテーブル、最初に1つの情報がいっぱいです。 2番目のBは空です。私はテーブルAから一列を取り出してテーブルBに入れたいと思っています。これまでは、テーブルBの行(2つの列を記入)を開始してから更新する必要がありました。私は、同じスキーマをしたい行のための他のテーブルの情報を持つ新しい行を作成する方法はありますか?私はLEFT JOINを見ていましたが、行ごとに追加する方法を打ち破ることはできませんでした。以下は私が今までに持っているものです:MySQLのあるテーブル行から別のテーブル行にデータを移動

UPDATE tableB 
SET tableB.aaa = (SELECT aaa FROM tableA where id = '1'), 
    tableB.bbb = (SELECT bbb FROM tableA where id = '1'), 
    tableB.ccc = (SELECT ccc FROM tableA where id = '1'), 
    tableB.ddd = (SELECT ddd FROM tableA where id = '1'), 
    tableB.eee = (SELECT eee FROM tableA where id = '1'), 
where proprietaryname='drugC'; 

また、この繰り返しをしない方法がありますか? SQLの初心者は、助けに感謝します。

+0

'tableB'が空に右でありますか?それから、どのようにデータを選択できますか? – Wanderer

+0

http://stackoverflow.com/questions/15209414/how-to-do-3-table-join-in-update-query – Matt

+0

私の間違いの更新に関する質問は、テーブルのコードを切り替えて、同じロジックを適用しました – Ryan

答えて

1

あなたがにtableAからTABLEBに新しい行を挿入したい場合は、あなたがinsert . . selectを使用することができます。

insert into tableB(aaa, bbb, ccc, ddd, eee) 
    select aaa, bbb, ccc, ddd, eee 
    from tableA 
    where proprietaryname = 'drugC'; 
関連する問題