设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1227|回复: 5

[查询] 请教

[复制链接]
发表于 2016-10-28 11:16:18 | 显示全部楼层 |阅读模式
两张表sheet1,sheet2,查询两张表中‘使用人‘字段相同的记录’

select sheet1.资源编码,sheet1.位置,sheet2.节点ip,sheet2.系统名称

from sheet1 inner join sheet2 on sheet1.使用人=sheet2.使用人

sheet1中有3条记录,sheet2中有6条记录是同一个使用人,正确结果应该是查询到9条记录,可是运行上面查询结果却是18条记录,把sheet2的6条记录每条记录显示了三遍,而sheet1的三条记录却都没查到。为什么?

点击这里给我发消息

发表于 2016-10-28 12:53:29 | 显示全部楼层
你这个是一对多了,变成3*6 =18
 楼主| 发表于 2016-10-28 13:34:00 | 显示全部楼层
tmtony 发表于 2016-10-28 12:53
你这个是一对多了,变成3*6 =18

什么原因呢?我的语句有问题吗?在视图中直接建立查询也这样啊。
发表于 2016-10-28 17:56:29 | 显示全部楼层
本帖最后由 xinrenq 于 2016-10-28 17:57 编辑

迪卡尔积。因为不知道具体应对关系
也就是说,符合你给出的联接关系的数据不只一条
 楼主| 发表于 2016-10-28 23:01:18 | 显示全部楼层
xinrenq 发表于 2016-10-28 17:56
迪卡尔积。因为不知道具体应对关系
也就是说,符合你给出的联接关系的数据不只一条

什么意思啊?能告之正确的方法吗?
发表于 2016-10-29 10:34:22 | 显示全部楼层
举个例来说明一下,
比如说,古时父母之命指婚,要你和远亲家的女儿结婚,这是最初的想法,你和对方家女儿结婚,但是呢,长途而致时,发出亲家是双胞胎女儿,那是和哪个结婚呢,和哪个结婚都是一种结果,这时就出现了二种结果,但如果你家是三胞胎,对方也是三胞胎,那有多少种可能呢,就变成了9种,就是3*3=9,这9种结果都符合前面设置的关联条件,在SQL里就是我们的Join和Where产生的结果,这类意思要自已意会一下,比较抽象,数学概念多了一点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 08:58 , Processed in 0.109224 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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