访问查询无法获得正确的结果

时间:2016-05-25 15:24:58

标签: sql database ms-access

我有一个从Excel导入数据的Access数据库。数据库在两个表之间进行比较。我确实想要改变来自Excel的数据结构 - 例如。 Access表中没有主键。 当我进行查询时,我得不到正确的结果。我保持这很简单。

  • 规范表字段: 日期 - 日期格式, 小时 - 数字格式
  • 统计信息表字段: 日期 - 日期格式, 单元格 - 数字格式, 发短信 - 数字格式

我已经在Dates字段中尝试了所有3个连接属性,并且每当我在Spec表中重复日期时,我的查询会给出四倍的结果。

以下是我的一次尝试:

SELECT Spec.Dates, Spec.Hours, Stats.Dates, Stats.Cell, Stats.Texting
FROM Spec RIGHT JOIN Stats ON Spec.Dates = Stats.Dates
GROUP BY Spec.Dates, Spec.Hours, Stats.Dates, Stats.Cell, Stats.Texting;

我希望这很清楚 - 如果需要,我可以附加一个示例数据库。

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT Spec.Dates, Spec.Hours, FIRST(Stats.Cell) AS Cell, FIRST(Stats.Texting) AS Texting
FROM Spec RIGHT JOIN Stats ON Spec.Dates = Stats.Dates
GROUP BY Spec.Dates, Spec.Hours

这不太可能是您正在寻找的,但它可能会指出您遇到的问题。也许如果你能向我们展示一组记录和结果,无论是实际的还是预期的,我都能接近真正的答案。

For example:

Spec table:
5/5/2016 4:00
5/5/2016 5:00

Stats table:
5/5/2016 'Cell A' 'Texting A'
5/5/2016 'Cell B' 'texting B'

对于上述2x2记录的所有4种组合的查询,确实会产生4个单独的结果行。据我所知,您的数据库/导入中没有数据可以获得任何不同的数据(例如,仅将4:00时间与Cell A / Texting A stat相关联。)