编程论坛
注册
登录
编程论坛
→
SQL Server论坛
SQL如何从另一个表的全部数据追加到本表中
kb5077
发布于 2010-12-04 17:22, 1193 次点击
如题,比如有两个表的结构一样,就取表A和表B,两个表结构一样,两个表都有内容,我现在要从表A中追加到表B中没有的数据到表B,请问具体语句怎么写,谢谢了
9 回复
#2
kb5077
2010-12-04 17:23
知道的说一声,在此谢过了。。。
#3
aei135
2010-12-04 18:35
表有主键没?如果有的话,两个表主键相同的但其他字段内容有不同的话需要追加吗?
#4
cnfarer
2010-12-04 19:21
insert into B (select * from a where a.关键字 not in(select b.关键字 from b))
#5
w1991y11q27
2010-12-04 22:36
直接做连接啊,然后投影;或者做笛卡尔积,然后再一条条的扫描;把重复的去掉就可以了;具体的思想就是这样的,没有表不好写代码!
#6
刘易斯
2010-12-04 23:55
我试了一下用下边的也可以
insert into B(字段1,字段2,……) select * from A where A.字段1 not in(select B.字段1 from B )
其中字段以是每个表的主键。
#7
kb5077
2010-12-05 17:52
主键相同的不需要添加
#8
kb5077
2010-12-05 17:58
比如:表A结构 name xb xl
表B结构 name xb xl
主键是name,只有name不同就追加。
表A和表B都有数据,需要把表B追加到表A,条件是从表B只追加表A中没有的记录到表A
#9
刘易斯
2010-12-05 20:03
大哥,看看下面这样行吗?
insert into A (name,xb,xl) select * from B where name not in(select name from A )
#10
xihabang
2010-12-06 14:30
insert into a where (
select * from B where B.主键 not in(
select A.主键 from A ))
1