2014-12-03 4 views
0

Когда я присоединяюсь к этим двум таблицам, результаты сумм кратно количеству строк в запрошенных таблицах. Например, сумма (jle.Unit Price) должна составлять 834 485 долларов США. Однако он возвращает значение $ 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

ответ

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_] 
Смежные вопросы