Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

追加查询问题!

八戒  发表于:2008-11-10 15:43:26  
复制

数据库中有 A  B  两个表

 

A 表里面存有记录4百多万条,包括1-8月的全部记录。

 

B 表为公司给的 6-10月的记录。

 

AB两表字段一样。字段类型也一样。

 

我使用了追加查询。   想把B表中9-10的数据加到A表中。。。  结果。导致A表中出现重复的 6,7,8三个月的记录重复。

 

 

请问,我要怎么想使用追加查询。 才能将B 表中,不同于A表的记录。加入到A 表中呢??

 

Top
钱玉炜 发表于:2008-11-10 15:45:27
筛选一下日期,只追加9月以后的数据

八戒 发表于:2008-11-10 15:50:05

谢谢楼上的答复,除非精确到秒。  但如何把时间精确到秒呢? 

 

能不能。做个条件。就是B表中不等于A 表的记录。才加入到A表中。这样可以吗?/

 

因为A表数据量太大。 查询一个最后的结束时间。比较费事。。



丁丁 发表于:2008-11-10 18:32:26

看这样能行吗:

   INSERT INTO A表 SELECT * FROM B表 NOT EXISTS ( SELECT 字段1,字段2... FROM A表 WHERE ((A表.字段1=B表.字段1) AND (A表.字段2=B表.字段2....)) 



金宇 发表于:2008-11-11 12:48:55
 INSERT INTO A表 SELECT * FROM B表 where month(日期字段)=9 and month(日期字段)=10 
试试看。

八戒 发表于:2008-11-11 15:28:46

楼上的兄弟。我把我这个问题发了个图上来。麻烦您帮我看看。

 

2003-2008-09表中数据几百万条了

 

但7-10月中。只有几万条。

 

 

因为。我的上任走的时候。说2003-2008-09中的数据是到9月份,但不知道完整不完整,

 

所以,我想直接用7-10月的数据去覆盖一下前面的。



符鸿敏 发表于:2008-11-11 17:26:14

我对sql语句比较陌生,请用:

INSERT INTO A表 SELECT * FROM B表 where format([DECL_DATE],"m")=9 and format([DECL_DATE],"m")=10 
试试看。



符鸿敏 发表于:2008-11-11 20:25:23

也可以用:

INSERT INTO A表 SELECT * FROM B表 where format([DECL_DATE],"m")>8



残荷听雨 发表于:2008-11-11 21:55:48

运行本示例的查询即可解决问题

点击下载此附件

残荷听雨 发表于:2008-11-11 21:57:05

sql语句为:

INSERT INTO [2003-2008-09] ( DECL_REG_NO, DECL_DATE, DECL_NO, ORG_CODE ) SELECT [7-10月].DECL_REG_NO, [7-10月].DECL_DATE, [7-10月].DECL_NO, [7-10月].ORG_CODE FROM [7-10月] LEFT JOIN [2003-2008-09] ON [7-10月].DECL_DATE = [2003-2008-09].DECL_DATE WHERE ((([2003-2008-09].DECL_DATE) Is Null));



八戒 发表于:2008-11-12 11:50:59

楼上这方法确实很好也很妙。但请问楼上, 还有没运行速度更快的呀? 我的记录几百万条。相对比较慢一些。

 



符鸿敏 发表于:2008-11-12 15:57:16

我看就用:INSERT INTO A表 SELECT * FROM B表 where format([DECL_DATE],"m")>8。代码简单,管用。

至于速度问题——几百万条数据,插入时间肯定短不了。除非是使用超级计算机——或许也要花上几十秒甚至几分钟呢!而普通电脑没有数十分钟哪能完成呀。



八戒 发表于:2008-11-13 12:59:24

好的。谢谢啊。



总记录:12篇  页次:1/1 9 1 :