у меня есть 2 таблицы, которые являются: Выберите агрегат из нескольких таблиц
Я хочу, чтобы выбрать Total Item Line Сумму в каждом заказе, который рассчитывается по UnitPrice * Количество, общая скидка = сумма (((Количество * UnitPrice)/100) * Скидка * 100) и AverageFreight = (Freight/Весь товар в заказе) * Total Line Item В Ордене
Я пишу отборное заявление так:
select Orders.OrderID,CustomerID, EmployeeID, ProductID,ShippedDate, RequiredDate, ShipVia,(Freight/sum(Quantity))*Quantity 'TotalFreight',
Quantity * UnitPrice 'LineItemTotal',sum(Quantity) 'Line Item Quantity',sum(((Quantity * UnitPrice)/100) * Discount*100) 'Total Line Discount',Discount from Orders
inner join [Order Details] on Orders.OrderID = [Order Details].OrderID
group by Orders.OrderID,Orders.CustomerID, Orders.EmployeeID, [Order Details].ProductID, Orders.RequiredDate, Orders.ShipVia, Orders.Freight, [Order Details].Quantity,[Order Details].UnitPrice, [Order Details].Discount, Orders.ShippedDate
Однако он не вычисляет правильное значение AverageFreight. Что я делаю не так?
Благодарим за быстрый ответ. Он работает очень хорошо. Но есть ли способ сделать это, не используя «partition by»? – Kranatos
@ Kranatos. , , Я думаю, что это самый простой подход. –
Да, это так. Я просто хочу больше поработать над агрегатом :) – Kranatos