我在Access中有三个表,结构如下(附图):
我正在创建一个查询,以便通过" ID"来从所有三个表中提取信息。表3实际上每个ID有多个记录,而"表2"每个ID只有一条记录。由于某种原因,查询的结果如下:表3中ID的正确总和和表2中值的交叉产品(让我们说表3中有三个ID#1实例:我会得到800在实际数据(表3)中,我将在预算数据中得到3000,这是表3中ID#1的记录数的1000倍。如果我已将表2和表3连接到表1上的表1,为什么会发生这种交叉乘法?
谢谢
答案 0 :(得分:0)
您可以使用Sub Query解决此问题 请尝试以下..
SELECT A.Id,
A.OpenDate,
A.CloseDate,
B.BudgetData,
(SELECT SUM(C.ActualData) FROM Table3 C WHERE C.Id=A.Id) ActualData
FROM Table1 A
LEFT JOIN Table2 B
ON A.Id=B.Id