我想将数据从第一个表复制到另一个表。两个表都有公共列。 这是表示形式
table1已经有数据。 表1:
id | employeeName | sectionCode | teamCode| day1 | day2 |
1 eric 400 315
和table2尚无数据。 表2:
id | employeeName | sectionCode | teamCode | day1_a | day_b |
我想将表1内的数据复制到表2,但只复制公共列。这样我就不需要手动在表2中输入数据。
我尝试了这个question,但有所不同。
答案 0 :(得分:2)
将目标表中的“ common”列显式命名,然后仅选择那些列:
insert into table2 (id, employeeName, sectionCode, teamCode)
select id, employeeName, sectionCode, teamCode
from table1
这假定其他列定义为默认值或可为空。如果不是这样,或者如果为其他列提供值(或表达式),则可以省略对目标列的命名,以便所有列都为其提供值:
insert into table2
select id, employeeName, sectionCode, teamCode, 'foo', 'bar'
from table1