2014-12-03 59 views
0

當我連接這兩個表時,總和結果是被查詢表中行數的倍數。例如,sum(jle.Unit Price)應該是$ 834,485.00。但是,它返回價值$ 7760710.50。它將來自該表的行相加31次,即jpl表中相同的行數減去一行。 jpl上的總金額相同[總價格]。返回3次(對於jle表中的三行)比結果應該是。我究竟做錯了什麼。我想將它添加到已經基於Job No_字段工作的查詢中。在連接兩個表時返回SUM的倍數

select jle.[Job No_], sum(jle.[Unit Price]) as 'Invoiced Amount', sum(jpl.[Total Price])as 'Sale $' 
from [Job Ledger Entry] jle join [Job Planning Line] jpl on jle.[Job No_] = jpl.[Job No_] 
where jle.[Job No_] = 'j-2397' 
group by jle. [Job No_] 
+0

單位價格是否與同一工作#的[作業總賬分錄]中的所有條目相同?如果是這樣,您可以使用AVG而不是SUM。另一種選擇是使用MIN – Dbloch 2014-12-03 19:12:48

回答

0

試試這個。

select jpl.[Job No_], SUM(jle.[Unit Price]) as 'Invoiced Amount', MIN(jpl.[Total Price]) AS 'Sale $' 
from [Job Planning Line] jpl INNER JOIN (SELECT DISTINCT [Job No_], [Unit Price] FROM [Job LEdger Entry]) AS jle on jle.[Job No_] = jpl.[Job No_] 
where jpl.[Job No_] = 'j-2397' 
group by jpl. [Job No_]