数据
我在MS Access 2013中工作。我有两个表格('导入'以及' Import-Pay')。我有一个结合两者数据的查询。
Import-Pay包含来自客户的交易数据,其中包括偶尔的重复交易记录(例如:客户购买+ 50美元,客户退货 - 50美元,客户更改心态并再次购买+ 50美元)。它很少见,但它发生了。我的问题是,在创建我的客户账单报表(查询)时,由于客户只记录交易中的销售日期,我最终在Import-Pay表中记录了两条+50美元的记录。
查询
我正在查询交易数据,并通过以下查询将其与客户的二级表信息结合起来:
SELECT DISTINCTROW Import.[ACCOUNT#] AS [ACCOUNT#], [Import-Pay].[Account Number], [Import-Pay].[Name], [Import-Pay].[P TRANS DT], [Import-Pay].[P Trans Amt], [Import-Pay].[Total Account Balance]
FROM Import RIGHT JOIN [Import-Pay] ON Import.[CD#] = [Import-Pay].[Account Number]
GROUP BY Import.[ACCOUNT#], [Import-Pay].[Account Number], [Import-Pay].[Name], [Import-Pay].[P TRANS DT], [Import-Pay].[P Trans Amt], [Import-Pay].[Total Account Balance];
我的问题
这些表已加入,所以我的' Import-Pay'表格应该显示...但由于某种原因,在查询运行后,Import-Pay的重复记录会丢失,从而给我一个不同的总数[Trans Amt]。
疑难解答
我现在已经搞乱了两天,而且我没有想法。对这个问题有一套新的眼睛会非常感激!
谢谢!
答案 0 :(得分:1)
您没有任何聚合函数,因此请删除GROUP BY子句。同时删除DISTINCTROW。
您的Import-Pay
表格应该包含主键。在SELECT列表中包括此列(如果它是复合键,所有列)。
如果它没有主键,请创建一个(自动编号列工作正常)。