设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2648|回复: 12
打印 上一主题 下一主题

[查询] 这样的能用操作查询吗

[复制链接]
跳转到指定楼层
1#
发表于 2002-6-22 07:21:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表一        表二
字段A  字段B   字段A   字段C
AAAA   BBBB    AAAA   CCCC
A111   B111    A1111   C111   
           A2222   C222
字段A是两个表的关键字段
现要得出的结果:
           A2222   C222
即表二中有而表一中没有的记录再追加到表一中
有什么办法实现

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2002-6-22 08:50:00 | 只看该作者
下面的语句可以找到没有的记录:
SELECT * from 表二 where 字段A not in (select 字段A from 表一)
3#
发表于 2002-6-22 16:14:00 | 只看该作者
用INSERT改一下
4#
发表于 2002-6-22 19:55:00 | 只看该作者
有两程方法可以做到,一个是用比较查询找出两个表不匹配项目,再将不匹配项目新增到表一中,还有一种不用查询即用程序来达到的方法
dim cn as adodb.connection
dim rs1,rs2 as adodb.recordset

Set cn = New ADODB.Connection
Set rs1 = New ADODB.Recordset
Set rs2 = New ADODB.Recordset

rs2.Open "select * from 表二", cn, adOpenKeyset, adLockPessimistic
  for i=1 to rs2.recordcount
    rs1.Open "select * from 表一 where 字段A=' & rs2("字段A") & "'",cn,adOpenKeyset, adLockPessimistic
        if rs1.recordcount=0 then
        rs1.addnew
        rs1("字段A")=rs2("字段A")
        rs1("字段B")=rs2("字段C")
        rs1.update
        rs1.close
rs2.movenext
next
rs2.close
5#
发表于 2002-6-22 19:59:00 | 只看该作者
在rs1.update后面漏了一个
Endif
6#
发表于 2002-6-24 07:05:00 | 只看该作者
实话说,我认为YUAB版主的执行效率绝对低。
7#
发表于 2002-6-24 19:14:00 | 只看该作者
如果太量数据是不宜这样做的,如果不是大量数据的话这也不一定不能这样做。但这有一个好处是当有多个查询操作时可以进行事务处理。
8#
 楼主| 发表于 2002-6-25 01:19:00 | 只看该作者
我一真用的是yuab版主的方法,主要是在数据复制时有多种要处理的条件,没有办法啦

点击这里给我发消息

9#
发表于 2002-6-25 01:50:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
10#
发表于 2002-6-25 05:15:00 | 只看该作者
一句话即可搞定:
INSERT INTO 表一 ( 字段A,字段B)
SELECT 表二.字段A,表二.字段B,表一.字段A
FROM 表二 LEFT JOIN 表一 ON 表二.字段A = 表一.字段A
WHERE [表一].字段A Is Null;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-14 10:56 , Processed in 0.091594 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表