首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问关于根据B表的数据来新增数据

2013-01-05 
请教关于根据B表的数据来新增数据请教一下,假如:A、B两表中皆有数据,想把B表中,A表不存在的数据insert进去A

请教关于根据B表的数据来新增数据
请教一下,
假如:A、B两表中皆有数据,想把B表中,A表不存在的数据insert进去A表,三个字段,只要有一个值不同就要新增,请指教,谢谢!

A表:
姓名    书名     购买年份
陈某    AAA       2011
张某    CCC       2012


B表:
姓名    书名     购买年份 (红色为新增的)
陈某    AAA       2012
张某    CCC       2012

期望插入A表后的结果:
姓名    书名     购买年份
陈某    AAA       2011
陈某    AAA       2012
张某    CCC       2012
[解决办法]


insert into a
select name,book,buydate
from b
where not exists (select 1 from a where name+'*'+book+'*'+ltrim(buydate)=b.name+'*'+b.book+'*'+ltrim(b.buydate))

[解决办法]
insert into A(姓名,书名,购买年份)
select 姓名,书名,购买年份
from b 
where not exists(select 1 from A where a.姓名=b.姓名 and a.书名=b书名 and a.购买年份=b.购买年份)

热点排行