连接两个表时返回多个SUM

时间:2014-12-03 16:13:16

标签: sql-server-2005 join sum

当我连接这两个表时,总和结果是要查询的表中行数的倍数。例如,sum(jle.Unit Price)应为$ 834,485.00。但是,它返回$ 7760710.50的值。它将来自该表的行总计31次,相同的数字,减去一行,在jpl表中。 jpl上的总和相同。[总价]。返回3次(对于jle表中的三行)应该是结果。我究竟做错了什么。我想将此添加到已基于Job No_字段工作的查询中。

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_]

1 个答案:

答案 0 :(得分: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_]