设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2786|回复: 6
打印 上一主题 下一主题

[查询] 求助:多条件查询

[复制链接]
跳转到指定楼层
1#
发表于 2013-6-21 22:05:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有表1和表2两个表,分别有四个字段,其中三个字段相同
想通过3个相同字段查找把表2中的字段5添加到表1中,去掉表一中的字段4,该怎么做呢?
注:表2中数据较多,存在着表1中不存在的记录。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-6-22 09:23:58 | 只看该作者
用联合查询
3#
 楼主| 发表于 2013-6-22 10:15:02 | 只看该作者

貌似解决不了我的问题呢
4#
发表于 2013-6-22 12:41:52 | 只看该作者
用代码吧
回复

使用道具 举报

5#
 楼主| 发表于 2013-6-22 13:12:34 | 只看该作者

求代码,我刚接触ACCESS,还不是很会代码,谢谢了~
6#
发表于 2013-6-22 13:41:51 | 只看该作者
本帖最后由 cgsilicone 于 2013-6-22 15:29 编辑

你的图片例子让人不好理解你的要求
如果表1是:
字段1        字段2        字段3        字段4
1                 1               1               1
1                 2               1               1
2                 2               2               2
如果表2是:
字段1        字段2        字段3        字段4
2                2                2              3
1                 1               2               1
1                 2               1               5
4                  4               4              5
你要得到
字段1        字段2        字段3      新字段4
1                  1              1             1
1                 2               1              5
2                   2             2              3
可以用如下查询
SELECT 表1.字段1, 表1.字段2, 表1.字段3, iif(isnull(表2.字段5),表1.字段4,表2.字段5) AS 新字段4
FROM 表1 LEFT JOIN 表2 ON (表1.字段3 = 表2.字段3) AND (表1.字段2 = 表2.字段2) AND (表1.字段1 = 表2.字段1);

ACCESS的查询是非常强大的,只有想不到,少有做不到。或许你想要的是这种效果
字段1        字段2        字段3      新字段4
1                  1              1              1
1                 2               1              5
2                  2              2              3
1                 2               1              5
4                 4               4              5

SELECT 表1.字段1, 表1.字段2, 表1.字段3, IIf(IsNull(表2.字段5),表1.字段4,表2.字段5) AS 新字段4
FROM 表1 LEFT JOIN 表2 ON (表1.字段3=表2.字段3) AND (表1.字段2=表2.字段2) AND (表1.字段1=表2.字段1);
UNION ALL SELECT 表2.字段1, 表2.字段2, 表2.字段3, 表2.字段5
FROM 表1 RIGHT JOIN 表2 ON (表1.字段3 = 表2.字段3) AND (表1.字段2 = 表2.字段2) AND (表1.字段1 = 表2.字段1)
WHERE (((表1.字段1) Is  Null));


7#
 楼主| 发表于 2013-6-22 16:24:46 | 只看该作者
cgsilicone 发表于 2013-6-22 13:41
你的图片例子让人不好理解你的要求
如果表1是:
字段1        字段2        字段3        字段4

我想要你说的第一种效果,是用的哪种方式的查询呢,能再具体点吗?
谢谢啦~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 15:04 , Processed in 0.090551 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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