将表追加到现有表:SQL Server
我有一个带有两列的表将表追加到现有表:SQL Server,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我有一个带有两列的表a,我想将它们附加到另一个表B,我该怎么做?它们有完全相同的行。软件是SQL Server 2012 编辑(试图从注释中获取代码): 基本形式是: insert into tableB(col1, col2) select col1, col2 from tableA; 例如,如果列上有一个唯一的约束,并且insert违反了该约束,则这可能不起作用 这假设您确实想要将行添加到表中。如果您只想一起查看结果: select col1, col2 from tab
a
,我想将它们附加到另一个表B
,我该怎么做?它们有完全相同的行。软件是SQL Server 2012
编辑(试图从注释中获取代码):
基本形式是:
insert into tableB(col1, col2)
select col1, col2
from tableA;
例如,如果列上有一个唯一的约束,并且insert
违反了该约束,则这可能不起作用
这假设您确实想要将行添加到表中。如果您只想一起查看结果:
select col1, col2 from tableB union all
select col1, col2 from tableA;
编辑:
目标似乎是添加一列tableB
。可以通过添加列,然后更新值来执行此操作:
alter table tableB add col1 . . . ;
alter table tableB add col2 . . . ;
是列的定义
然后做:
update b
set col1 = a.col1, col2 = b.col2
from tableb b join
tablea a
on b.joinkey = a.joinkey;
如果您没有用于加入的列,那么您就有问题了。SQL中的表本质上是无序的,因此无法将值从a
的特定行分配到B
的特定行方法1:
INSERT INTO TestTable (FirstName, LastName)
SELECT FirstName, LastName
FROM OtherTable
方法2:
SELECT FirstName, LastName
INTO TestTable
FROM OtherTable
.试试这个:
INSERT INTO tbl1 SELECT * FROM tbl2;
如果新表尚不存在,则必须先创建它,或使用以下表单:
从[oldTableName]中选择[Column list]进入[NewTableName]
如
到目前为止,您尝试了哪些操作???插入B_表([Column 0],[Column 1])从[dbo]中选择[Column 0],[Column 1]。[A]我也尝试使用空列创建表,但当我放入数据时,它会创建更多行,而不是插入空列,有关详细信息,请参见链接。@npereira。这有什么问题?可能是重复的。这假设列是相同的。(我刚刚在你的评论中看到,列数不同。)
INSERT INTO tbl1 SELECT * FROM tbl2;
Select col1, col2
Into NewTable
From OldTable