我想将table1的内容复制到table2中,但它不是一个直接的副本,因为table2包含的列多于表1.结构类似于:
表1
表2
我想要做的是将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
因此在表2中,所有column1都将具有'horse'值 . 所有column3都有2.等等 .
使用 INSERT..INTO SELECT 语句
INSERT..INTO SELECT
INSERT INTO table2 (column2, column4, column6) SELECT column2, column4, column6 FROM table1
所以在这种情况下,列: column1 , column2 , column3 将具有空值 . 或者你设置的任何默认值 .
column1
column2
column3
在SQL上不是很好但是这样的:
INSERT INTO [Table1] (column2, column4, column6) SELECT (column1, column2, column3) FROM [Table2]
希望这可以帮助 . 链接可能有用,http://www.blackwasp.co.uk/SQLSelectInsert.aspx
投我,我需要点数:P
请试试
INSERT INTO Table2 ( column1, column2, column3, column4, column5, column6, ) SELECT 'StaticValue1', column2, 'StaticValue2' column4, 'StaticValue3' column6, FROM Table1
要将完整表复制到新表中:
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
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))
6 回答
你可以做一个
在select子句中,输入默认值 .
因此在表2中,所有column1都将具有'horse'值 . 所有column3都有2.等等 .
使用
INSERT..INTO SELECT
语句所以在这种情况下,列:
column1
,column2
,column3
将具有空值 . 或者你设置的任何默认值 .在SQL上不是很好但是这样的:
希望这可以帮助 . 链接可能有用,http://www.blackwasp.co.uk/SQLSelectInsert.aspx
投我,我需要点数:P
请试试
要将完整表复制到新表中:
http://www.w3schools.com/sql/sql_select_into.asp
要将表复制到现有表中:
http://www.w3schools.com/sql/sql_insert_into_select.asp