table1 の内容を table2 にコピーしたいのですが、table2 には table1 よりも多くの列が含まれているため、単純なコピーではありません。構造は次のようになります。
表 1 { 列 2 列 4 列 6 }
表 2 { 列 1 列 2 列 3 列 4 列 5 列 6 }
私がやりたいことは、table1 から table2 までのすべての行を追加し、欠落している列のデフォルト値を設定することです。どんな助けでも大歓迎です。
あなたはただすることができます
INSERT INTO xxx
SELECT yyy
また、select 句にデフォルト値を入力します。
INSERT INTO Table2(column1, column2, column3, column4, column5, column6)
SELECT 'horse', column2, 2, column4, 'what ever I want', column6
FROM Table1
したがって、int Table2 では、すべての column1 に「馬」の値が含まれます。column3 はすべて 2 になります。
してみてください
INSERT INTO
Table2 (
column1,
column2,
column3,
column4,
column5,
column6,
)
SELECT
'StaticValue1',
column2,
'StaticValue2'
column4,
'StaticValue3'
column6,
FROM
Table1
SQLは得意ではありませんが、次のようなものです:
INSERT INTO [Table1] (column2, column4, column6) SELECT (column1, column2, column3) FROM [Table2]
お役に立てれば。役立つリンクhttp://www.blackwasp.co.uk/SQLSelectInsert.aspx
私に投票してください。ポイントが必要です:P
使用INSERT..INTO SELECT
ステートメント
INSERT INTO table2 (column2, column4, column6)
SELECT column2, column4, column6
FROM table1
したがって、この場合、列: column1
, column2
,column3
には null 値が含まれます。または設定したデフォルト。
テーブル全体を新しいテーブルにコピーするには:
SELECT * INTO table2 FROM table1;
http://www.w3schools.com/sql/sql_select_into.asp
テーブルを既存のテーブルにコピーするには:
INSERT INTO table2
SELECT * FROM table1;
insert into TABLE2
select null colum1, column2,null colum3,column4,null colum5,column6
from((
Select TABLE1.column2, TABLE1.column4, TABLE1.column6
from TABLE1, TABLE2
where TABLE1.primarykey=TABLE2.primarykey))