Я запрашиваю данные о том, что mc.Amount должен быть одной записью, но я обнаружил, что пользователи добавляли несколько записей на номер заказа.Приведенный ниже код дает мне мой набор записей, но у меня возникают проблемы, определяющие, как бы я суммировал mc.Amount за oh.Order_Number.
Все поля одинаковы, кроме mc.Amount
Мне кажется, мне нужен подзапрос, но я не смог заставить его работать.Буду признателен за любую помощь.
SELECT DISTINCT
oh.Order_Number AS Order_Number,
od.Part_Number AS Job_Name,
od.Unit_Price AS Sale_Price,
mc.Amount AS PieceRate_Labor_Cost,
oh.Total_Labor_Cost AS Hourly_Labor_Cost,
oh.Total_Material_Cost AS Total_Material_Cost,
SUM(oh.Total_Labor_Cost + oh.Total_Material_Cost+ mc.Amount) AS
Total_Cost,
ROUND(qbd.Profit_Percent,2) AS Profit_Percent,
od.Part_Family_Code AS FBGM,
ROUND(SUM(((od.Unit_Price - (oh.Total_Labor_Cost +
oh.Total_Material_Cost + mc.Amount))/
NULLIF(od.Unit_Price,0.00))*100),2) AS Final_Margin
FROM dbo.Order_Header oh
LEFT OUTER JOIN dbo.Order_Detail od ON oh.Order_Header_ID =
od.Order_Header_ID
LEFT OUTER JOIN dbo.Miscellaneous_Charge mc ON od.Order_Detail_ID =
mc.Order_Detail_ID
LEFT OUTER JOIN dbo.Quantity_Break_Detail qbd ON mc.Order_Detail_ID =
qbd.Order_Detail_ID
WHERE oh.Order_Number BETWEEN '74991' AND '75400' AND od.Unit_Price >
0 AND mc.Miscellaneous_Charge_Code <> 'FREIGHT'
GROUP BY
oh.Order_Number, mc.Miscellaneous_Charge_Code,
mc.Amount,oh.Total_Labor_Cost, oh.Total_Material_Cost,
qbd.Profit_Percent, od.Part_Family_Code, od.Unit_Price, od.Part_Number
Результаты: (некоторые поля пропущены)
Order_Number: Sale_Price: PieceRate_Labor_Cost: Houly_Labor_Cost
75024 : 1890 : 43 : 110.49
75025 : 4938 : 105.5 : 167.51
75025 : 4938 : 281.25 : 167.51
75026 : 5000 : 251.10 : 85.00
75027 : 4352 : 142.65 : 142.00
75027 : 4352 : 68.25 : 142.00
75028 : 1568 : 98.25 : 25.62
Я бы хотел, чтобы мой окончательный результат был:
Order_Number: Sale_Price: PieceRate_Labor_Cost: Houly_Labor_Cost
75024 : 1890 : 43 : 110.49
75025 : 4938 : 386.75 : 167.51
75026 : 5000 : 251.10 : 85.00
75027 : 4352 : 210.9 : 142.00
75028 : 1568 : 98.25 : 25.62