日期:2014-05-17  浏览次数:20451 次

sqlserver 如何实现把一个表里的数据 以追加列的形式添加到另一个表中
是这样的,我想把 A表的数据以添加列的形式添加到B表(A,B量表的行是相等的)
比如A表有2列B有5列要把A的两列加到B中B变成7列,其中A.ID=B.ID
求高手解答

------解决方案--------------------
select * from a
union all
select * from b

------解决方案--------------------
用表复制的写法,insert into B(要插入的列名) select (要复制的列表) from A
不知道你A.ID=B.ID是什么东东,B的ID是主键就会出现主键重复冲突.
------解决方案--------------------
先把B表的那两列建好,数据从A表中取去,插入到B表对应B.id=a.id行就可以了
------解决方案--------------------
select a.*,b.列1,b.列2.... from a left join b on a.id=b.id

------解决方案--------------------
看错了
应该是
select b.*,a.列1,a.列2..... from b left join a on b.id=a.id
------解决方案--------------------

if object_id('A') IS NOT NULL
DROP TABLE A
go
create table A
(
id int,
Code varchar(10)
)
go
if object_id('B') IS NOT NULL
DROP TABLE B
go
create table B
(
id int,
Code varchar(10)
)
go
insert into a
select 1,'A001' UNION ALL
select 2,'A002' UNION ALL
select 3,'A003'
GO
INSERT INTO B
select 1,'B001' UNION ALL
select 2,'B002' UNION ALL
select 3,'B003'
GO
--select * from a 
--union all
--select * from b

insert into B
select A.* FROM A,B WHERE A.ID = B.ID
GO
select * from B