SQLで、Select into ...
行を別の(バックアップ)テーブルにコピーします。バックアップテーブルの構造が異なる(または列名が異なる)場合、これは可能ですか?そうでない場合、これを達成するための最良の方法は何ですか?
これが私がやりたいことです:TableA
列がありますa1,a2,a3
。このテーブルからTableB
列を持つ別のテーブルにいくつかの行をコピーしたいと思いますb1,b2,b3,b4
。にa1
入るb1
、へなどの内容。a2
b2
SQLで、Select into ...
行を別の(バックアップ)テーブルにコピーします。バックアップテーブルの構造が異なる(または列名が異なる)場合、これは可能ですか?そうでない場合、これを達成するための最良の方法は何ですか?
これが私がやりたいことです:TableA
列がありますa1,a2,a3
。このテーブルからTableB
列を持つ別のテーブルにいくつかの行をコピーしたいと思いますb1,b2,b3,b4
。にa1
入るb1
、へなどの内容。a2
b2
データ型が一致する(または割り当てにキャストできる)限り、列名はまったく関係ありません。
列のデータ型が一致しない場合は、それに応じて値をキャストしてみてください。小さなダミーテーブルで試してみてください。混乱を避けるために、ターゲット列を明示的にリストしてください。このような:
INSERT INTO TableB (b1, b2, b3)
SELECT a1, a2, a3
FROM TableA
WHERE <some condition>;
詳細については、SQLiteマニュアルをご覧ください。