0

table1 の内容を table2 にコピーしたいのですが、table2 には table1 よりも多くの列が含まれているため、単純なコピーではありません。構造は次のようになります。

表 1 { 列 2 列 4 列 6 }

表 2 { 列 1 列 2 列 3 列 4 列 5 列 6 }

私がやりたいことは、table1 から table2 までのすべての行を追加し、欠落している列のデフォルト値を設定することです。どんな助けでも大歓迎です。

4

6 に答える 6

3

あなたはただすることができます

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 になります。

于 2013-01-17T08:55:54.813 に答える
1

してみてください

INSERT INTO 
    Table2  (
    column1,
    column2,
    column3,
    column4,
    column5,
    column6,
        )
SELECT 
    'StaticValue1',
    column2,
    'StaticValue2'
    column4,
    'StaticValue3'
    column6,
FROM 
    Table1
于 2013-01-17T09:20:24.187 に答える
1

SQLは得意ではありませんが、次のようなものです:

INSERT INTO [Table1] (column2, column4, column6) SELECT (column1, column2, column3) FROM [Table2]

お役に立てれば。役立つリンクhttp://www.blackwasp.co.uk/SQLSelectInsert.aspx

私に投票してください。ポイントが必要です:P

于 2013-01-17T08:58:41.660 に答える
1

使用INSERT..INTO SELECTステートメント

INSERT INTO table2 (column2, column4, column6)
SELECT column2, column4, column6
FROM table1

したがって、この場合、列: column1, column2,column3には null 値が含まれます。または設定したデフォルト。

于 2013-01-17T08:56:05.760 に答える
1

テーブル全体を新しいテーブルにコピーするには:

SELECT * INTO table2 FROM table1;

http://www.w3schools.com/sql/sql_select_into.asp

テーブルを既存のテーブルにコピーするには:

INSERT INTO table2
SELECT * FROM table1;

http://www.w3schools.com/sql/sql_insert_into_select.asp

于 2013-06-20T14:46:27.057 に答える
0
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))
于 2013-06-20T15:17:30.537 に答える