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

小弟我碰到一个奇怪的有关问题,自己写的如何老是不行呢?出怪了

2012-02-10 
我碰到一个奇怪的问题,自己写的怎么老是不行呢?出怪了我有一表a001(a0011,a0022)另一表a003(a0031,a0032)

我碰到一个奇怪的问题,自己写的怎么老是不行呢?出怪了
我有一表a001(a0011,a0022)
另一表a003   (a0031,a0032)

现在a001表是原始导入数据,a003表是保留数据
我想把a001表数据导入到a003表里,那么如果a003表里的a0031和a0011表里的值如有
相同的,则更新,没有则插入a001表的信息,,大家看看这个怎么写?

原来写的(不能用,不知为啥,连续执行的话,会重复插入)
insert   into   a003   (a0031,a0032)   select   a0011,a0022   from   a001   t,a003     k
where   t.a0011 <> k.a0031


[解决办法]
--先更新
Update A Set a0032 = B.a0022 From a003 A Inner Join a001 B On A.a0031 = B.a0011

--再插入
insert into a003 (a0031,a0032) select a0011,a0022 from a001
where Not Exists(Select a0031 from a003 Where a003 = a001.a0011)
[解决办法]
錯了,改下

--先更新
Update A Set a0032 = B.a0022 From a003 A Inner Join a001 B On A.a0031 = B.a0011

--再插入
insert into a003 (a0031,a0032) select a0011,a0022 from a001 A
where Not Exists(Select a0031 from a003 Where a0031 = A.a0011)

热点排行