【发布时间】:2015-01-21 22:25:41
【问题描述】:
我对 Acess 有点陌生,正在尝试了解如何合并表。 我的问题基本上是这个... 我有 2 个可以运行并导出到 excel 的报告。我希望能够获取两个报告,将它们组合起来,然后将组合结果导入到表格中。
在一份报告中......称之为位置详细信息......具有以下字段:
ID (PK, and autonumber)
Day (Date call was done)
CallID (Resets every day to 1, and increases by 1 for every new call)
Lat (Lattitude of call)
Long (Longitude of call)
Cost
在另一个报告中..称之为位置摘要..具有以下字段:
ID (PK, and autonumber)
Location
City
Lat (Lattitude of call)
Long (Longitude of call)
# of Occurences (Number of times there was a call at that location)
问题是,当您在同一位置拨打电话时,即使是在两天内,它也会自动将其分组到出现次数中。所以我尝试从相同的日期范围运行 2 个单独的查询,一个匹配 lat,另一个匹配 long,它显示有重复项。我的猜测是因为那些没有匹配 lat 的查询(因为它已经使用了该字段一次,即使有 4 次出现)显示空值并作为副本添加到查询中。
我想将与长/纬度数据匹配的城市列添加到位置详细信息报告中,然后将其制成新表/然后能够运行相同的报告,并将它们添加到新表中,但以某种方式确保没有任何重复。
我最大的问题是没有任何真正的主键,因为呼叫 ID 取决于日期......我不确定如何真正做到这一点。
任何帮助将不胜感激...我很难过。
编辑:
第一个Query是加入纬度:
SELECT
[Location Detail Report_142].Day, [Location Detail Report_142].[Call ID],
[Location Detail Report_142].Lat, [Location Detail Report_142].Long
FROM [Location Detail Report_142]
LEFT JOIN [Location Summary Report_14]
ON [Location Detail Report_142].Lat = [Location Summary Report_14].Lat;
第二个匹配呼叫ID:
SELECT qryRelationshipToLat.Day, qryRelationshipToLat.[Call ID],
[Location Summary Report_14].City
FROM [Location Summary Report_14]
INNER JOIN qryRelationshipToLat
ON [Location Summary Report_14].Long = qryRelationshipToLat.Long
ORDER BY qryRelationshipToLat.Day, [Location Summary Report_14].City;
我在想也许可以做出某种 if-then 语句来说明如果呼叫 ID 显示重复 THEN 匹配呼叫 ID...它必须匹配两者,当原始位置摘要报告被上传时,它有 283 条记录,但它显示重复的位置分组到另一个字段 (#_of_Occurances),所以呼叫的总数将是位置详细信息报告中的总数,在这种情况下是 288。所以当我运行第一个 qry - 305 个结果,第二个 qry 将 305 变为 337。所以我最终得到了很多我猜的重复项,或者空值。
但是这两个报告都不包括 Call ID 或 Call Numbers。他们共享的唯一信息是 LONG 和 LAT 坐标。所以我必须先匹配这些,然后将呼叫 ID、日期和城市分配给相应的坐标。
【问题讨论】:
-
我建议您发布两个查询的 SQL(通过在 SQL 视图而不是设计视图中打开查询来访问 SQL)。
-
感谢您的回复!现在我只有两个表中的数据。我应该只运行一个查询将它们转换成 SQL 格式吗?
-
您在帖子中提到了查询。即使他们没有工作,我认为你应该发布他们,同时解释他们为什么不做你想做的事。回答您的问题可能需要比您提供的更精确的细节;希望查看 SQL 是获取该信息的一种方式。
-
我在想也许可以做出某种 if then 语句来说明 if call id 显示重复 THEN match Call ID... 它必须匹配两者,当原始位置摘要报告时已上传,它有 283 条记录,但它显示重复的位置分组到另一个字段 (#_of_Occurances),所以调用的总数将是位置详细信息报告中的总数,在这种情况下是 288。所以当我运行第一个 qry - 305 结果,第二个 qry 将 305 变为 337。所以我最终得到了很多我猜的重复项,或者是空值
-
但是这两个报告都没有包含 Call ID 或 Call Numbers。他们共享的唯一信息是 LONG 和 LAT 坐标。所以我必须先匹配这些,然后将呼叫 ID、日期和城市分配给相应的坐标。
标签: sql ms-access merge ms-access-2010