2015-07-20 3 views
0

Я просмотрел другие заголовки и могу видеть некоторые из того, что может понадобиться, но не может сделать эту работу. Вот мой запрос ...sum ошибка ввода подзапроса

SELECT s.RepairCode 

,sum((SELECT isnull (Sum(Convert(numeric(8,2), ((tp2.FootWeight/12)*(FinishLength)/2000))),0) 
FROM (NYS2Reheat r2 INNER JOIN NYS2SawPieces s2 ON r2.recordId = s2.rollrecID) 
left join TensileProducts tp2 on r2.FinalProd = tp2.sqlproduct 
where (s2.recordid = s.recordid) and tp2.Active = 1)) as tons 

FROM (NYS2Reheat r INNER JOIN NYS2SawPieces s ON r.recordId = s.rollrecID) 
left join TensileProducts tp on r.FinalProd = tp.sqlproduct 
WHERE r.RollShiftID like '07/17/1525%A' and s.RepairCode like '%F%' 
order by s.repaircode 

я получаю «Не удается выполнить агрегатную функцию на выражение, содержащее совокупность или подзапрос.» ошибка. Как я могу суммировать подвыбор? Кстати, этот запрос возвращает (без суммы) ...

F 3.22 
F 3.22 
F 2.23 
F 3.96 

Я ищу F 12,63

Спасибо,

+0

Подзапрос не разрешен в качестве аргумента для 'sum()'. Вместо этого поставьте 'sum()' внутри подзапроса. –

+0

Я не понимаю, куда он пойдет. Я пробовал пару мест, не могли бы вы объяснить немного больше, пожалуйста? – Obfuscated

ответ

1

Я думаю, вам просто нужно установить сумму, в дополнительный запрос и присоединить его к другому запросу. Я думаю, что это сработает, но у меня нет таблиц для тестирования.

SELECT s.RepairCode 
,sum(tot.totals) as tons 
FROM NYS2Reheat r 
INNER JOIN NYS2SawPieces s ON r.recordId = s.rollrecID 
left join TensileProducts tp on r.FinalProd = tp.sqlproduct 
Left JOIN (SELECT s.REpairCode, isnull (Sum(Convert(numeric(8,2), ((tp2.FootWeight/12)*(FinishLength)/2000))),0) 'totals' 
FROM NYS2Reheat r2 
INNER JOIN NYS2SawPieces s2 ON r2.recordId = s2.rollrecID 
left join TensileProducts tp2 on r2.FinalProd = tp2.sqlproduct 
where s2.recordid = s.recordid and tp2.Active = 1 
Group by s.RepairCode) tot 
on tot.repaidcode = s.RepairCode 

WHERE r.RollShiftID like '07/17/1525%A' and s.RepairCode like '%F%' 
group by s.RepairCode 
order by s.repaircode 
+0

Да, это, спасибо. – Obfuscated

Смежные вопросы