Office中国论坛/Access中国论坛

标题: 【求助】为什么新建查询里的记录数远少于表里的实际记录数? [打印本页]

作者: tanktan    时间: 2017-1-9 13:14
标题: 【求助】为什么新建查询里的记录数远少于表里的实际记录数?
我的“质量问题表”明明有700多条记录,见截屏[attach]60642[/attach]

但是创建一个查询,不附加任何条件的查询该表却只有300多条记录,见下图
[attach]60643[/attach]
这是咋回事?求高手解答,谢谢~

作者: 风中漫步    时间: 2017-1-9 14:11
看看你的SQL来
作者: tanktan    时间: 2017-1-9 14:47
风中漫步 发表于 2017-1-9 14:11
看看你的SQL来

SELECT 质量问题表.描述
FROM 质量问题级别 INNER JOIN (质量问题对象表 INNER JOIN ((人员表 INNER JOIN (工程表 INNER JOIN 卷册表 ON 工程表.工程编号 = 卷册表.工程编号) ON (人员表.人员编号 = 卷册表.卷册设计人) AND (人员表.人员编号 = 工程表.变电一次主设人)) INNER JOIN 质量问题表 ON (卷册表.卷册编号 = 质量问题表.卷册编号) AND (卷册表.工程编号 = 质量问题表.工程编号)) ON 质量问题对象表.序号 = 质量问题表.问题对象) ON 质量问题级别.序号 = 质量问题表.问题级别;
作者: roych    时间: 2017-1-9 14:52
Inner join改为Left join试试看
作者: tanktan    时间: 2017-1-9 15:00
roych 发表于 2017-1-9 14:52
Inner join改为Left join试试看

[attach]60644[/attach]
说是不支持

作者: roych    时间: 2017-1-9 15:02
tanktan 发表于 2017-1-9 15:00
说是不支持

这么奇怪?传个附件上来看看
作者: tanktan    时间: 2017-1-9 15:58
roych 发表于 2017-1-9 15:02
这么奇怪?传个附件上来看看

[attach]60645[/attach]
这个是我删除了一些个人信息后的版本,总共有766条记录,不加条件的查询有721条记录,还是差了几十条不能显示

作者: Henry D. Sy    时间: 2017-1-9 17:09
主键设置有问题
为什么要多字段作为主键?
作者: roych    时间: 2017-1-9 23:05
如Henry所说,表设计有问题。我已经复制了出来,更改了表结构,请留意后缀名为“1”的那几个表。
好好领会下:为什么这样做。有时间建议看看论坛里关于表规范的几个帖子:
http://www.office-cn.net/thread-121481-1-1.html
关于范式:
http://www.office-cn.net/thread-120215-1-1.html
如果仍然不懂,再提问。
像我这样的劳模已经不多了。
作者: tanktan    时间: 2017-1-10 12:35
roych 发表于 2017-1-9 23:05
如Henry所说,表设计有问题。我已经复制了出来,更改了表结构,请留意后缀名为“1”的那几个表。
好好领会 ...

感动中国~先拜谢,再拜读读完再说
作者: tanktan    时间: 2017-1-10 12:44
Henry D. Sy 发表于 2017-1-9 17:09
主键设置有问题
为什么要多字段作为主键?

我完整的关系是这样的……上传版本删掉了一些涉及单位个人信息的表……
[attach]60647[/attach]
其中“工程表”中每条记录对应多个卷册,所以我把“卷册表”用(工程编号)和(卷册编号)联合作为主键,而一个卷册对应多个问题,所以我把“质量问题表”用(工程编号)、(卷册编号)和(问题编号)联合作为主键,实现:工程-卷册-质量问题 这个递进的层级关系。刚用access,不知道还有其他办法实现没有

作者: Henry D. Sy    时间: 2017-1-10 13:07
可以用主键,外键来建立联系
作者: 风中漫步    时间: 2017-1-12 13:57
太复杂,头疼。不能找个简单点做?这个交给别人




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3