首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问连接导致结果错误

访问连接导致结果错误
EN

Stack Overflow用户
提问于 2017-03-07 14:46:36
回答 1查看 48关注 0票数 0

我发现我的Access查询的结果与源数据表不一致。通过淘汰过程,我已经确定了这个问题与我的表加入有关,但我不明白为什么或如何解决它。为了保持这个简单,我已经消除了所有,除了一个字段和一个从查询连接,我发现了问题。

查询1:有一个连接到另一个表,但我简化了查询,这样就不会返回字段,查询中也没有条件。我只是简单地将“数据”中的单个字段相加,而忽略了"State_Details“。

代码语言:javascript
运行
复制
SELECT Sum(Data.[Total Amount]) AS [SumOfTotal Amount]
FROM Data LEFT JOIN State_Details ON (Data.BenefitsState = State_Details.BENEFITS_STATE) 
AND (Data.ClientNum = State_Details.CLIENT_NUM);

查询2:删除联接并执行相同的和。

代码语言:javascript
运行
复制
SELECT Sum(Data.[Total Amount]) AS [SumOfTotal Amount]
FROM Data;

这两个查询返回的结果略有不同。我以前从未见过这种情况,也不知道为什么这个连接不能正常工作,也不知道如何解决。任何见解都将不胜感激。注意:我对SQL不太熟悉。我在Access中使用了Design视图,但是可以对SQL进行一些基本的读取和修改。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-07 14:49:16

为什么这会让你吃惊?显然,它是说,在State_Details.BenefitsState中有重复的。

运行以下查询:

代码语言:javascript
运行
复制
select BenefitsState, count(*)
from State_Details
group by BenefitsState
having count(*) > 1;

如果[Total Amount]存储为浮点类型,并且错误非常非常小,则存在另一种可能性。浮点运算的计算顺序会产生影响,特别是在取值范围很大的情况下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42651227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档