2014-12-03 5 views
0

이 두 테이블을 조인 할 때 합계 결과는 쿼리되는 테이블의 행 수의 배수입니다. 예를 들어, sum (jle.Unit Price)은 834,485.00 달러 여야합니다. 그러나 $ 7760710.50의 값을 리턴합니다. 그것은 jpl 테이블에서 31 번, 같은 수에서 1을 뺀 행을 요약합니다. jpl에 대한 합계도 같습니다 [Total Price]. 결과보다 3 회 (jle 테이블의 3 행에 대해) 리턴해야합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까. 작업 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

동일한 작업 #의 [Job Ledger Entry]의 모든 항목에 대해 단가가 동일합니까? 그렇다면 SUM 대신 AVG를 사용할 수 있습니다. 다른 옵션은 MIN을 사용하는 것입니다. – Dbloch

답변

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_] 
관련 문제