Расчет суммы заказа по линиям заказа - PullRequest
1 голос
/ 13 сентября 2011

Привет. Я пытаюсь вычислить сумму заказа. Я получил заказ с и Id, и несколько строк заказа.

Order
ID       OrderDate  CustomerName


OrderLine
OrderID  ProductId   Amount    Price

Я хотел бы сделать оператор выбора, где я получу следующий вывод.

ID, OrderDate, CustomerName, OrderTotal.

Ответы [ 2 ]

2 голосов
/ 13 сентября 2011

Вам нужны JOIN, GROUP BY и SUM.Что-то вроде:

SELECT o.ID,
       o.OrderDate,
       o.CustomerName,
       SUM(ol.Amount * ol.Price) AS OrderTotal
FROM   [Order] o
       LEFT JOIN OrderLine ol /*If not all orders may have items */
         ON o.ID = ol.OrderID
GROUP  BY o.ID,
          o.OrderDate,
          o.CustomerName  
1 голос
/ 13 сентября 2011

Ваш вопрос не завершен.Но я попытаюсь угадать оставшиеся недостающие части.

Давайте предположим, что у вас есть две таблицы.В одной таблице есть Заказы, мы назовем ее tbl_orders, а в другой - детали заказов и назовем ее tbl_details.

. Вот как я бы это сделал

select a.ID,a.OrderDate,a.CustomerName, sum(b.Amount * b.Price) OrderTotal 
from tbl_orders a, tbl_details b where b.orderId = a.ID 
group by a.ID,a.OrderDate,a.CustomerName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...