| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 849 人关注过本帖
标题:更新表的问题
取消只看楼主 加入收藏
ydxpn123
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2012-11-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
更新表的问题
表A    10条记录
表B    5条记录
用表A的数据去更新表B的数据,表A中的记录在表B中有相同的,则按条件更新相应的字段(如:更新表B中的数量字段),如果表A中的记录在表B中没有,就直接插入表B
该怎么做
搜索更多相关主题的帖子: 记录表 
2014-05-29 10:29
ydxpn123
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2012-11-7
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

UPDATE 表A SET 表A.数量=表A.数量+表B.新进数量 from 表B WHERE 表A.编号 = 表B.编号

这样来写,只能更新符合条件的,不符合条件的没法插入到表A中啊
2014-05-29 12:09
ydxpn123
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2012-11-7
收藏
得分:0 
表B是数据源,表A才是要更新的表,没错啊
程序代码:
SELECT 表A
UPDATE 表A SET 表A.数量=表A.数量+表B.新进数量 from 表B WHERE 表A.编号 = 表B.编号
SELECT 表B
GO TOP
DO WHILE !EOF()
   IF 表B.编号 <> 表A.编号
      INSERT INTO 表A (编号,书名,数量) VALUES (表B.编号,表B.书名,表B.新进数量)
   ENDIF 
   IF !EOF()
      SKIP
   ENDIF
ENDDO
thisform.grid1.Refresh

这样又把更新过的记录一起插入到表A中了
2014-05-29 12:34
ydxpn123
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2012-11-7
收藏
得分:0 
实在想不出什么方法了才来找大神帮忙
2014-05-29 12:49
ydxpn123
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2012-11-7
收藏
得分:0 
问题解决了,谢谢各位
2014-05-29 14:04
快速回复:更新表的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012887 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved