npe*_*ira 6 sql sql-server sql-server-2012
我有一个A包含两列的表,我想将其附加到另一个表中B,我该怎么做?它们具有完全相同的行。软件是SQL Server 2012.
编辑(来自评论的尝试代码):
INSERT INTO B_table([Column 0], [Column 1])
SELECT [Column 0], [Column 1]
FROM [dbo].[A] ;
Run Code Online (Sandbox Code Playgroud)
基本形式是:
insert into tableB(col1, col2)
select col1, col2
from tableA;
Run Code Online (Sandbox Code Playgroud)
例如,如果您对列有唯一约束并且insert违反了此约束,则这可能不起作用。
这假设您确实想要将行添加到表中。如果您只想一起查看结果:
select col1, col2 from tableB union all
select col1, col2 from tableA;
Run Code Online (Sandbox Code Playgroud)
编辑:
目标似乎是添加第一列tableB。您可以通过添加列然后更新值来做到这一点:
alter table tableB add col1 . . . ;
alter table tableB add col2 . . . ;
Run Code Online (Sandbox Code Playgroud)
该. . .是列的定义。
然后做:
update b
set col1 = a.col1, col2 = b.col2
from tableb b join
tablea a
on b.joinkey = a.joinkey;
Run Code Online (Sandbox Code Playgroud)
如果您没有用于加入的列,那么您就有问题了。SQL 中的表本质上是无序的,因此无法将值从 的特定行分配A到 的特定行B。
| 归档时间: |
|
| 查看次数: |
68323 次 |
| 最近记录: |