| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 849 人关注过本帖
标题:更新表的问题
只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
Insert Into 表B Select 表A.* From 表A Where 编号 Not in (Select 编号 From 表B)

坚守VFP最后的阵地
2014-05-29 13:05
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:20 
以下是引用ydxpn123在2014-5-29 12:34:08的发言:

表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中了
....
以下是引用ydxpn123在2014-5-29 12:09:41的发言:

 
UPDATE 表A SET 表A.数量=表A.数量+表B.新进数量 from 表B WHERE 表A.编号 = 表B.编号
这样来写,只能更新符合条件的,不符合条件的没法插入到表A中啊

感觉。。。一会表A 一会表B呢?
2014-05-29 13:32
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用ydxpn123在2014-5-29 12:34:08的发言:

表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中了


更新表的问题
表A    10条记录
表B    5条记录
用表A的数据去更新表B的数据,表A中的记录在表B中有相同的,则按条件更新相应的字段(如:更新表B中的数量字段),如果表A中的记录在表B中没有,就直接插入表B
是我的理解能力出问题了,还是楼主的表达问题的能力出问题了。

坚守VFP最后的阵地
2014-05-29 13:36
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
以下是引用sdta在2014-5-29 13:36:07的发言:



是我的理解能力出问题了,还是楼主的表达问题的能力出问题了。
我也是没看懂噻
2014-05-29 13:42
ydxpn123
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2012-11-7
收藏
得分:0 
问题解决了,谢谢各位
2014-05-29 14:04
快速回复:更新表的问题
数据加载中...
 
   



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

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