Проблема:
Найти чистый остаток от общей суммы заказа и общей суммы платежей для каждого клиента.
Включено 4 таблицы: OrderDetails
, Orders
, Payments
и Customer
.
Общая сумма заказа = количество заказа * цена каждого [в OrderDetails]
Общая сумма оплаты = сумма различных платежей для одного и того же заказа.
Customers
связаныдо Payments
и Orders
с CustomerNumber
.Orders
связаны с OrderDetails
с помощью OrderNumber
.
Я попытался объединить 4 таблицы с помощью функции INNER JOIN
.
SELECT
c.customername,
SUM(od.quantityordered * od.priceeach) - SUM(p.amount) AS Net_Balance
FROM
(
(
orderdetails od
INNER JOIN orders o ON od.ordernumber = o.ordernumber
)
INNER JOIN customers c ON o.customernumber = c.customernumber
)
INNER JOIN payments p ON c.customernumber = p.customernumber
GROUP BY c.customername;
Ожидаемые результаты должны быть 0 для почтикаждый клиент.
Однако, то, что я получил, это общая сумма заказа и общая сумма оплаты, умноженная на некоторые константы.В частности, общая сумма платежа умножается на количество платежей за каждый заказ.
У кого-нибудь есть идеи по спасению моей жизни?